제출 #45070

#제출 시각아이디문제언어결과실행 시간메모리
45070rajarshi_basu금 캐기 (IZhO14_divide)C++14
48 / 100
1061 ms4208 KiB
#include <iostream> #include <algorithm> #include <stack> #include <string> #include <stdio.h> #include <cmath> #include <queue> #include <functional> #define FOR(i,n) for(int i=0;i<n;i++) #define FORE(i,a,b) for(int i=a;i<=b;i++) #define ll long long int #define pb(a) push_back(a) #define vi vector<int> #define ii pair<int,int> #define iii pair<bool, pair<int,int> > #define mp(a,b) make_pair(a,b) using namespace std; ll* st; void init(int n){ st = new ll[4*n]; FOR(i,4*n) st[i] = 0; } void update(int node,int ss,int se,int i,ll val){ if(i>se || i<ss)return; if(ss==se){st[node] = val;return;} int mid = (ss+se)/2; update(node*2+1,ss,mid,i,val); update(node*2+2,mid+1,se,i,val); st[node] = max(st[node*2+1] , st[node*2+2]); } int get(int node,int ss,int se,ll param){ if(st[node]+param<0){ return -1; }else if(ss==se){ return ss; }else{ int mid = (ss+se)/2; return max(get(2*node+1,ss,mid,param),get(node*2+2,mid+1,se,param)); } } int main(){ int n; cin >> n; init(n); ll x[n]; ll g[n]; ll d[n]; FOR(i,n)cin >> x[i] >> g[i] >> d[i]; int rel[n]; rel[0] = 0; FORE(i,1,n-1){ rel[i] = d[i] - x[i] + x[i-1]; } ll prel[n];//sum from 0 to n; prel[0] = rel[0]; FORE(i,1,n-1)prel[i] = prel[i-1] + rel[i]; ll pg[n]; pg[0] = g[0]; FORE(i,1,n-1)pg[i] = pg[i-1] + g[i]; // FOR(i,n)cout << pg[i] << " ";cout<<endl; ll mx = 0; FOR(i,n){ ll sum = 0; ll gc = g[i]; if(d[i]>=0)mx = max(mx,gc); FORE(j,i+1,n-1){ gc+=g[j]; if(prel[j] - prel[i] + d[i] >=0)mx = max(mx,pg[j]-((i==0)?0:pg[i-1])); } } cout << mx<<endl; }

컴파일 시 표준 에러 (stderr) 메시지

divide.cpp: In function 'int main()':
divide.cpp:71:8: warning: unused variable 'sum' [-Wunused-variable]
     ll sum = 0;
        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...