# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
931503 | 2024-02-22T01:04:24 Z | TIN | Vudu (COCI15_vudu) | C++17 | 457 ms | 65536 KB |
#include <bits/stdc++.h> using namespace std; #define FNAME "test" typedef long long ll; const int N = 1e6 + 5; int n; ll a[N]; ll P; vector<ll> pre; ll mx; ll ans; struct Fenwick { int n; vector<ll> f; Fenwick(int _n) { n = _n; f.resize(n + 5, 0LL); } void set(int i) { for (; i <= n; i += i & (-i)) f[i]++; } ll get(int i) { ll r = 0; for (; i > 0; i -= i & (-i)) r += f[i]; return r; } }; void Task() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cout << fixed << setprecision(9); if (fopen(FNAME".inp","r")) { freopen(FNAME".inp","r",stdin); freopen(FNAME".out","w",stdout); } } void compress(vector<ll>& v) { set<ll> s(v.begin(), v.end()); vector<ll> b(s.begin(), s.end()); mx = (int) b.size() + 1; for (ll &x : v) x = lower_bound(b.begin(), b.end(), x) - b.begin() + 1; return; } void Solve() { //Your Code cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; cin >> P; pre.resize(n + 1); pre[0] = 0; for (int i = 1; i <= n; i++) pre[i] = pre[i - 1] + (a[i] - P); compress(pre); Fenwick BIT(n + 1); ans = 0; for (int i = 1; i <= n; i++) { BIT.set(pre[i - 1]); ans += BIT.get(pre[i]); } cout << ans << '\n'; return; } int main() { Task(); Solve(); return 37^37; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 856 KB | Output is correct |
2 | Correct | 2 ms | 604 KB | Output is correct |
3 | Correct | 2 ms | 604 KB | Output is correct |
4 | Runtime error | 353 ms | 65536 KB | Execution killed with signal 9 |
5 | Correct | 273 ms | 41028 KB | Output is correct |
6 | Correct | 439 ms | 63848 KB | Output is correct |
7 | Correct | 457 ms | 65536 KB | Output is correct |
8 | Correct | 397 ms | 54868 KB | Output is correct |
9 | Runtime error | 301 ms | 65536 KB | Execution killed with signal 9 |
10 | Correct | 441 ms | 65536 KB | Output is correct |