제출 #1188722

#제출 시각아이디문제언어결과실행 시간메모리
1188722vusalPilot (NOI19_pilot)C++20
0 / 100
65 ms24900 KiB
#include <bits/stdc++.h> //author : vusal using namespace std; #define int long long mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int MOD = 1e9 + 7; const int oo = 1e18 + 100; const int sz = 3e5 + 7; vector<int>g[sz]; vector<int>mp[sz]; vector<int>ans(sz); void _() { int n, q; cin >> n >> q; set<int>s; vector<int>v(n + 2); for(int i = 1; i <= n; i++) { cin >> v[i]; mp[v[i]].push_back(i); } for(int i = 0; i <= n + 1; i++) { s.insert(i); } int sum = 0; for(int y = 0; y < sz; y++) { for(int i : mp[y]) { s.erase(i); auto itr = s.lower_bound(i); int j = (*itr); --itr; int k = (*itr); int d1 = (i - k - 1); int d2 = (j - i - 1); int d3 = (j - k - 1); sum -= d1 * (d1 + 1) / 2; sum -= d2 * (d2 + 1) / 2; sum += d3 * (d3 + 1) / 2; } ans[y] = sum; } while(q--) { int x; cin >> x; cout << ans[x] << endl; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; // cin >> t; while(t--) { _(); } }
#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...