Submission #35191

#TimeUsernameProblemLanguageResultExecution timeMemory
35191ulnaMoney (IZhO17_money)C++11
0 / 100
0 ms9828 KiB
#include <bits/stdc++.h> using namespace std; // why am I so weak int n; int a[1000055]; int dat[1000055]; inline void read(int &x) { x = 0; char ch = 0; while (ch < '0' || ch > '9') ch = getchar(); while (ch >= '0' && ch <= '9') { x = x * 10 + (ch - '0'); ch = getchar(); } } void add(int id) { while (id <= (int)1e6) { dat[id]++; id += id & -id; } } int get(int id) { int res = 0; while (id > 0) { res += dat[id]; id -= id & -id; } return res; } int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { read(a[i]); } int res = 1; add(a[0]); for (int i = 0; i + 1 < n; i++) { add(a[i + 1]); if (a[i + 1] < a[i]) { res++; continue; } if (a[i + 1] == a[i]) continue; if (get(a[i + 1] - 1) - get(a[i]) > 0) { res++; } } printf("%d\n", res); return 0; }

Compilation message (stderr)

money.cpp: In function 'int main()':
money.cpp:38:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...