Submission #168106

#TimeUsernameProblemLanguageResultExecution timeMemory
168106PancakeCandies (JOI18_candies)C++14
8 / 100
5010 ms7416 KiB
#pragma GCC target("avx2") #pragma GCC optimize("O3") #include <x86intrin.h> #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; template<typename T> using ordered_set = tree <T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; #define F first #define S second #define lb lower_bound #define ub upper_bound #define pb push_back #define pf push_front #define ppb pop_back #define mp make_pair #define bpp __builtin_popcountll #define sqr(x) ((x) * (x)) #define al 0x3F3F3F3F #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() #define in insert #define ppf pop_front #define endl '\n' //#define int long long typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef pair <int, int> pii; const int mod = (int)1e9 + 7; const int N = (int)3e5 + 123; const ll inf = (ll)1e18 + 1; const double pi = acos (-1.0); const double eps = 1e-7; const int dx[] = {0, 0, 1, 0, -1}; const int dy[] = {0, 1, 0, -1, 0}; int n, a[N]; ll dp[2][N][2]; inline void boost () { ios_base :: sync_with_stdio (NULL); cin.tie (NULL), cout.tie (NULL); } inline void Solve () { cin >> n; for (int i = 1; i <= n; i ++) cin >> a[i]; for (int i = 0; i <= 1; i ++) for (int j = 1; j <= n; j ++) dp[i][j][0] = dp[i][j][1] = -inf; dp[0][0][0] = 0; for (int i = 1; i <= n; i ++) { bool ch = (i & 1); for (int j = 1; j <= i; j ++) { dp[ch][j][0] = max (dp[(ch ^ 1)][j][0], dp[(ch ^ 1)][j][1]); dp[ch][j][1] = dp[(ch ^ 1)][j - 1][0] + a[i]; } } for (int i = 1; i <= (n + 1) / 2; i ++) cout << max (dp[(n & 1)][i][1], dp[(n & 1)][i][0]) << endl; } main () { // freopen (".in", "r", stdin); // freopen (".out", "w", stdout); boost (); int tt = 1; //cin >> tt; while (tt --) { Solve (); } return 0; }

Compilation message (stderr)

candies.cpp:72:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main () {                                       
       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...