제출 #644050

#제출 시각아이디문제언어결과실행 시간메모리
644050ttamxMeteors (POI11_met)C++14
100 / 100
1582 ms44132 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef tuple<int,int,int> t3; const int N=3e5+5; struct fenwick{ ll tree[N]={}; void init(){ for(int i=0;i<N;++i)tree[i]=0; } void add(int i,ll v){ while(i<N){ tree[i]+=v; i+=i&-i; } } ll read(int i){ ll sum=0; while(i>0){ sum+=tree[i]; i-=i&-i; } return sum; } }f; int n,m,k; int l[N],r[N],ans[N]; ll p[N]; bool can[N]; vector<int> o[N]; vector<t3> v; int main(){ cin.tie(nullptr)->sync_with_stdio(false); cin >> n >> m; for(int i=1;i<=m;++i){ int x; cin >> x; o[x].push_back(i); } for(int i=1;i<=n;++i)cin >> p[i]; cin >> k; v.emplace_back(0,0,0); for(int i=1;i<=k;++i){ int a,b,c; cin >> a >> b >> c; v.emplace_back(a,b,c); } for(int i=1;i<=n;++i)l[i]=1,r[i]=k+1; while(true){ vector<int> res[k+2]; int cnt=0; for(int i=1;i<=n;++i){ if(l[i]>=r[i])continue; res[(l[i]+r[i])/2].emplace_back(i); ++cnt; } if(cnt==0)break; f.init(); for(int i=1;i<=k;++i){ auto [a,b,c]=v[i]; f.add(a,c); f.add(b+1,-c); if(b<a){ f.add(1,c); f.add(m+1,-c); } for(auto j:res[i]){ ll sum=0; for(auto x:o[j]){ sum+=f.read(x); if(sum>=p[j])break; } if(sum>=p[j])r[j]=i; else l[j]=i+1; } } } for(int i=1;i<=n;++i){ if(r[i]<=k)cout << r[i] << '\n'; else cout << "NIE" << '\n'; } return 0; }

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

met.cpp: In function 'int main()':
met.cpp:66:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   66 |             auto [a,b,c]=v[i];
      |                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...