Submission #253207

#TimeUsernameProblemLanguageResultExecution timeMemory
253207nandonathanielPilot (NOI19_pilot)C++14
100 / 100
597 ms60920 KiB
#include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<LL,LL> pii; const LL MAXN=1000005; pii arr[MAXN]; bool ada[MAXN]; LL par[MAXN],sz[MAXN],ans[MAXN]; LL find(LL x){ if(par[x]==x)return par[x]; return par[x]=find(par[x]); } void join(LL u,LL v){ LL repu=find(u),repv=find(v); par[repu]=repv; sz[repv]+=sz[repu]; } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); LL n,q,h; cin >> n >> q; for(LL i=1;i<=n;i++){ cin >> h; arr[i]={h,i}; par[i]=i; sz[i]=1; } sort(arr+1,arr+n+1); for(LL i=1;i<=n;i++){ pii isi=arr[i]; LL kiri=0,kanan=0; if(ada[isi.second-1]){ kiri=sz[find(isi.second-1)]; join(isi.second,isi.second-1); } if(ada[isi.second+1]){ kanan=sz[find(isi.second+1)]; join(isi.second,isi.second+1); } ada[isi.second]=true; ans[isi.first]+=(kiri+1)*(kanan+1); } for(LL i=1;i<=MAXN;i++)ans[i]+=ans[i-1]; while(q--){ cin >> h; cout << ans[h] << '\n'; } return 0; }

Compilation message (stderr)

pilot.cpp: In function 'int main()':
pilot.cpp:46:31: warning: iteration 1000004 invokes undefined behavior [-Waggressive-loop-optimizations]
  for(LL i=1;i<=MAXN;i++)ans[i]+=ans[i-1];
                         ~~~~~~^~~~~~~~~~
pilot.cpp:46:14: note: within this loop
  for(LL i=1;i<=MAXN;i++)ans[i]+=ans[i-1];
             ~^~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...