Submission #1002486

#TimeUsernameProblemLanguageResultExecution timeMemory
1002486TitanicXDzzPilot (NOI19_pilot)C++14
0 / 100
140 ms8132 KiB
#include<bits/stdc++.h> using namespace std; int a[1000010]; int l[1000010]; int r[1000010]; int dp[100010]; priority_queue<pair<int,int>> pq; int main(){ int n,q; cin>>n>>q; l[0]=-1; r[0]=1; l[n+1]=n; r[n+1]=n+2; int maxi=0; for(int i=1;i<=n;i++){ cin>>a[i]; l[i]=i-1; r[i]=i+1; pq.push({-a[i],-i}); if(a[i]>maxi) maxi=a[i]; } int sumi=0; while(pq.empty()==0){ int x=pq.top().first; int y=pq.top().second; pq.pop(); int g=(r[-y]-r[-y-1])*(l[-y+1]-l[-y]); sumi+=g; l[r[-y-1]]=l[-y+1]; r[l[-y+1]]=r[-y-1]; dp[-x]=sumi; } for(int i=1;i<=1000000;i++){ if(dp[i]==0) dp[i]=dp[i-1]; } for(int i=0;i<q;i++){ int ans; cin>>ans; cout<<dp[ans]<<endl; } return 0; }

Compilation message (stderr)

pilot.cpp: In function 'int main()':
pilot.cpp:36:12: warning: iteration 100009 invokes undefined behavior [-Waggressive-loop-optimizations]
   36 |     if(dp[i]==0)
      |        ~~~~^
pilot.cpp:35:14: note: within this loop
   35 | for(int i=1;i<=1000000;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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...