Submission #80998

#TimeUsernameProblemLanguageResultExecution timeMemory
80998farukkastamonudaDivide and conquer (IZhO14_divide)C++14
17 / 100
76 ms4476 KiB
#include <bits/stdc++.h> #define fi first #define se second #define lo long long #define inf 1000000000 #define md 1000000007 #define li 100005 #define mp make_pair #define pb push_back using namespace std; int n; lo int x[li], g[li], d[li], sume[li], sumg[li], cev; bool check(int val, int beg){ if(x[val] - x[beg] <= sume[val] - sume[beg - 1]) return true; return false; } int main(){ scanf("%d", &n); for(int i = 1; i <= n; i ++){ scanf("%lld %lld %lld", &x[i], &g[i], &d[i]); sume[i] = sume[i - 1] + d[i]; sumg[i] = sumg[i - 1] + g[i]; } for(int i = 1; i <= n; i ++){ int bas = i, son = n; while(bas <= son){ int mid = (bas + son) / 2; if(check(mid, i)) bas = mid + 1; else son = mid - 1; } int bio = max(0, son - 1); int bioo = max(0, son - 2); bio = min(bio , n); bioo = min(bioo, n); int bis = min(n, son + 1); int biss = min(n, son + 2); int orta = max(0, son); orta = min(orta, n); if(bio >= i && check(bio, i)) cev = max(cev, sumg[bio] - sumg[i - 1]); if(bis >= i && check(bis, i)) cev = max(cev, sumg[bis] - sumg[i - 1]); if(orta >= i && check(orta, i)) cev = max(cev, sumg[orta] - sumg[i - 1]); if(bioo >= i && check(bioo, i)) cev = max(cev, sumg[bioo] - sumg[i - 1]); if(biss >= i && check(biss, i)) cev = max(cev, sumg[biss] - sumg[i - 1]); } printf("%lld\n", cev); return 0; }

Compilation message (stderr)

divide.cpp: In function 'int main()':
divide.cpp:18:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
divide.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld %lld", &x[i], &g[i], &d[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...