Submission #793850

#TimeUsernameProblemLanguageResultExecution timeMemory
79385012345678Pilot (NOI19_pilot)C++17
0 / 100
1 ms724 KiB
#include <bits/stdc++.h> using namespace std; const int nx=1e3+5; int n, q, h[nx], dp[nx], t; vector<vector<int>> d(nx); int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>q; for (int i=1; i<=n; i++) cin>>h[i], d[h[i]].push_back(i); for (int i=1; i<nx; i++) { dp[i]=dp[i-1]; sort(d[i].begin(), d[i].end()); for (auto x:d[i]) { int l=1, r=n; for (int j=x-1; j>=1; j--) { if (h[j]>i) { l=j+1; break; } } for (int j=x+1; j<=n; j++) { if (h[j]>=i) { r=j-1; break; } } dp[i]+=(x-l+1)*(r-x+1); //cout<<i<<' '<<l<<' '<<r<<' '<<x<<' '<<dp[i]<<'\n'; } } while (q--) cin>>t, cout<<dp[t]<<'\n'; }
#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...