Submission #1187042

#TimeUsernameProblemLanguageResultExecution timeMemory
1187042Cebrayil09Pilot (NOI19_pilot)C++20
78 / 100
1092 ms3656 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair < int , int > #define eb emplace_back #define pb push_back #define int long long #define fi first #define se second const int inf = 1e18; void solve() { int n,q; cin >> n >> q; vector < int > h(n+1), t(q+1); for(int i = 1;i <= n;i++) cin >> h[i]; for(int i = 1;i <= q;i++) cin >> t[i]; if(q == 1 && t[1] == 1e6) { cout << n*(n+1)/2 << "\n"; return; } vector<int> qwe = h; sort(qwe.begin(), qwe.end()); if(qwe == h) { for(int _ = 1;_ <= q;_++) { int l = 1, r = n, best = 0; while(l <= r) { int mid = l + (r-l)/2; if(h[mid] <= t[_]) { best = mid; l = mid+1; } else r = mid-1; } cout << best*(best+1)/2 << "\n"; } return; } for(int _ = 1;_ <= q;_++) { int ans = 0, rn = 0; bool is = 0; for(int i = 1;i <= n;i++) { if(h[i] <= t[_]) { rn++; is = 1; } else if(is) { ans += rn*(rn+1)/2; rn = 0; is = 0; } } ans += rn*(rn+1)/2; cout << ans << "\n"; } } signed main() { ios_base::sync_with_stdio(0); cout.tie(0); int t = 1; //cin >> t; 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...