Submission #334109

#TimeUsernameProblemLanguageResultExecution timeMemory
334109aryan12Pilot (NOI19_pilot)C++17
55 / 100
239 ms3308 KiB
#include <bits/stdc++.h> using namespace std; const long long N = 1e6 + 10; long long a[N]; long long n, q; //for 78 points void Solve1() { for(long long i = 1; i <= q; i++) { long long x; cin >> x; long long ans = 0, cnt = 0; for(long long j = 1; j <= n; j++) { if(a[j] <= x) { cnt++; ans++; } else { ans += (cnt * (cnt - 1)) / 2; cnt = 0; } } ans += (cnt * (cnt - 1)) / 2; cout << ans << endl; } } void Solve2() { for(long long i = 1; i <= q; i++) { long long x; cin >> x; long long l = 1, r = n; long long mid, ans = 0; while(l <= r) { mid = (l + r) / 2; if(a[mid] <= x) { ans = mid; l = mid + 1; } else { r = mid - 1; } } cout << ans * (ans - 1) / 2 << endl; } } void Solve() { cin >> n >> q; for(long long i = 1; i <= n; i++) { cin >> a[i]; } if(n * q <= 1e6) { Solve1(); } else { Solve2(); } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); Solve(); 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...