제출 #336542

#제출 시각아이디문제언어결과실행 시간메모리
336542nickmet2004거래 (IZhO13_trading)C++11
100 / 100
297 ms13292 KiB
#include <bits/stdc++.h> #define ll long long #define int long long using namespace std; const int N=300005; const int M=300005; int m,n,l,r; ll tree[4*N+2],x,ans; void update(int i, int a, int b, int l, int r, int x){ if(r<a || l>b) return; if( a>=l && b<=r) { int k=a-l+x; if(tree[i]>k) return; tree[i]=k; return; } int mid=(a+b)/2; if(a!=b){ update(2*i+1, a, mid, l, r, x); update(2*i+2, mid+1,b, l , r, x); } } void findmx(int i, int a, int b, int x){ if(x==a && x==b) { ans=tree[i]; return; } int mid=(a+b)/2; if(tree[i]!=0 && a!=b){ ll k=tree[i]; tree[2*i+1]=max(tree[2*i+1], k); tree[2*i+2]=max(tree[2*i+2], k+(mid+1-a)); tree[i]=0; } if(x<a || x>b) return; if(a!=b){ findmx(2*i+1, a, mid, x); findmx(2*i+2, mid+1, b, x); } } main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m; for(int i=0; i<m; i++){ cin>>l>>r>>x; l--; r--; update(0, 0, n-1, l, r, x); } for(int i=0; i<n; i++){ ans=0; findmx(0,0,n-1,i); cout<<ans<<" "; } }

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

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