제출 #624218

#제출 시각아이디문제언어결과실행 시간메모리
624218PoonYaPatPilot (NOI19_pilot)C++14
89 / 100
1055 ms96604 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n,qu; ll ans[1000001],sum; vector<int> h[1000001]; set<int> s; ll cal(ll x) { return x*(x+1)/2; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>qu; s.insert(0); s.insert(n+1); for (int i=1; i<=n; ++i) { int a; cin>>a; h[a].push_back(i); } sum=cal(n); for (int i=1000000; i>0; --i) { ans[i]=sum; for (auto j : h[i]) { auto it=s.upper_bound(j); int r=*it, l=*(--it); sum-=cal(r-l-1); sum+=cal(j-l-1); sum+=cal(r-j-1); s.insert(j); } } for (int i=1; i<=qu; ++i) { int x; cin>>x; cout<<ans[x]<<"\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...