Submission #319061

#TimeUsernameProblemLanguageResultExecution timeMemory
319061FischerVudu (COCI15_vudu)C++14
0 / 140
297 ms25704 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("%d\n", ans); return 0; }

Compilation message (stderr)

vudu.cpp: In function 'int main()':
vudu.cpp:43:14: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=]
   43 |     printf("%d\n", ans);
      |             ~^     ~~~
      |              |     |
      |              int   long long int
      |             %lld
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...