제출 #245809

#제출 시각아이디문제언어결과실행 시간메모리
245809RealSuperman1Candies (JOI18_candies)C++17
8 / 100
29 ms16384 KiB
//#pragma comment(linker, "\stack:200000000") //#pragma GCC optimize("Ofast") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcount,abm,mmx,avx,avx2,tune=native") //#pragma GCC target("avx,avx2") //#pragma GCC target("avx,avx2,fma") //#pragma GCC optimization("O3") //#pragma GCC optimization("unroll-loops") #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <bits/stdc++.h> #define ll long long #define ld long double #define pb push_back #define fi first #define se second #define pii pair<int, int> #define pll pair<ll, ll> using namespace std; using namespace __gnu_pbds; typedef tree< ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; const int N = 2e3 + 10; const int mod = 1e9 + 7; ll n, a[N], dp[N][N]; int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); // freopen("input.txt", "r", stdin); // freopen("input.in", "r", stdin); // freopen("input.out", "w", stdout); cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) dp[i][1] = max(dp[i - 1][1], a[i]); ll lim = (n + 1) / 2; for (int j = 2; j <= lim; j++) { for (int i = 2 * j - 1; i <= n; i++) dp[i][j] = max(dp[i - 1][j], dp[i - 2][j - 1] + a[i]); } for (int j = 1; j <= lim; j++) cout << dp[n][j] << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...