제출 #1187256

#제출 시각아이디문제언어결과실행 시간메모리
1187256aladdin1Pilot (NOI19_pilot)C++20
0 / 100
94 ms22460 KiB
#pragma GCC optimize("O3") #pragma GCC target("avx2") #include<bits/stdc++.h> #define int long long using namespace std; const int MAX=1e6+100,MOD=1e9+7; unordered_map<int, vector<int>> mp; vector<int> ans(MAX); void solve(){ int n,q;cin>>n>>q; vector<int> arr(n+2); for(int i=1;i<=n;i++){ cin>>arr[i]; mp[arr[i]].push_back(i); } set<int> st; for(int i=0;i<=n+1;i++)st.insert(i); int curr_ans=0; for(auto& [y, indices]:mp){ for(int i:indices){ st.erase(i); auto itr=st.lower_bound(i); int j=*itr; --itr; int k=*itr; int d1=(i-k-1),d2=(j-i-1),d3=(j-k-1); curr_ans-=d1*(d1+1)/2; curr_ans-=d2*(d2+1)/2; curr_ans+=d3*(d3+1)/2; } ans[y]=curr_ans; } while(q--){ int y;cin>>y; cout<<ans[y]<<"\n"; } } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t=1; while(t--)solve(); }
#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...