제출 #319062

#제출 시각아이디문제언어결과실행 시간메모리
319062FischerVudu (COCI15_vudu)C++14
28 / 140
301 ms15972 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 1e6 + 10; using ll = long long; ll a[maxn]; int n, p; int ft[maxn]; void upd(int pos, int v) { while (pos < maxn) { ft[pos] += v; pos += pos&-pos; } } int qry(int pos) { int ans = 0; while (pos > 0) { ans += ft[pos]; pos -= pos&-pos; } return ans; } int main() { scanf("%d", &n); vector<int> id(n + 1); iota(id.begin(), id.end(), 0); for (int i = 1; i <= n; ++i) { scanf("%lld\n", a+i); a[i] += a[i-1]; } scanf("%d", &p); sort(id.begin(), id.end(), [](int i, int j) { return a[i] - i *1ll* p < a[j] - j *1ll* p; }); long long ans = 0; for (int i : id) { ans += qry(i); upd(i + 1, 1); } printf("%lld\n", ans); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

vudu.cpp: In function 'int main()':
vudu.cpp:27:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   27 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
vudu.cpp:31:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   31 |         scanf("%lld\n", a+i);
      |         ~~~~~^~~~~~~~~~~~~~~
vudu.cpp:34:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   34 |     scanf("%d", &p);
      |     ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...