Submission #574317

#TimeUsernameProblemLanguageResultExecution timeMemory
574317DevigoPilot (NOI19_pilot)C++14
55 / 100
1066 ms2308 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define mp make_pair const int siz = 0; const int mod = 0; int main() { ios::sync_with_stdio(0); cin.tie(0); long long n, q; cin >> n >> q; vector<long long> h(n); for(int i=0; i<n; i++) { cin >> h[i]; } vector<long long> y(q); for(int i=0; i<q; i++) { cin >> y[i]; } bool cnd = 1; for(int i=0; i<n; i++) { if(h[i] < h[i-1]) { cnd = 0; break; } } if(cnd) { for(int i=0; i<q; i++) { auto it = upper_bound(h.begin(),h.end(),y[i]); long long j = (it-h.begin()); cout << ((j*(j+1))/2) << "\n"; } return 0; } vector<long long> ans; for(int i=0; i<q; i++) { long long x = y[i]; // x = 1e6 long long sum = 0; long long s = 0; bool f = 0; for(int j=0; j<n; j++) { if(h[j] > x) { long long k = max(0LL,j-s); sum += ((k*(k+1))/2); s = j+1; f = 1; continue; } f = 0; } if(f == 0) { long long k = n-s; sum += ((k*(k+1))/2); } ans.pb(sum); } for(long long j: ans) cout << j << "\n"; return 0; }
#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...