Submission #1149996

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11499962025-02-13 14:33:07onbertCake 3 (JOI19_cake3)C++20
0 / 100
166 ms327680 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 2e5 + 5, maxN = 8e5 + 5, INF = 1e18;
int n, m;
pair<int,int> a[maxn];
vector<int> L[maxN], R[maxN];
int ans = -INF;
void dnc(int id, int l, int r) {
int sz = min(r - l + 1, m);
if (l == r) {
L[id] = {-a[l].first * 2, a[l].second - a[l].first * 2};
R[id] = {a[l].first * 2, a[l].second + a[l].first * 2};
// cout << l << " " << r << endl;
// cout << L[id][0] << " " << L[id][1] << endl;
// cout << R[id][0] << " " << R[id][1] << endl;
return;
}
int mid = (l+r)/2;
dnc(id*2, l, mid); dnc(id*2+1, mid+1, r);
int lsz = L[id*2].size() - 1, rsz = L[id*2+1].size() - 1;
for (int i=0;i<=m;i++) {
if (i <= lsz && m-i <= rsz) ans = max(R[id*2][i] + L[id*2+1][m-i], ans);
// if (i <= lsz && m-i <= rsz) cout << "wtf " << l << " " << r << " " << i << " " << R[id*2][i] << " " << L[id*2+1][m-i] << " " << R[id*2][i] + L[id*2+1][m-i] << endl;
// if (i <= lsz && m-i <= rsz) if (R[id*2][i] + L[id*2+1][m-i] == 568584951) {
// cout << id << " " << l << " " << r << " " << endl;
// cout << i << " " << R[id*2][i] << " " << L[id*2+1][m-i] << endl;
// }
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

cake3.cpp: In function 'int main()':
cake3.cpp:135:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  135 |     freopen("in.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...