Submission #166398

#TimeUsernameProblemLanguageResultExecution timeMemory
166398abilMoney (IZhO17_money)C++14
0 / 100
2 ms380 KiB
#include <bits/stdc++.h> #define fr first #define sc second #define pb push_back #define mk make_pair #define all(s) s.begin(),s.end() #define int long long using namespace std; const int N = (1e6 + 12); const int mod = (1e9 + 7); const int INF = (1e15 + 9); int t[N], a[N], n, cnt[N]; void update(int ind){ for(;ind <= n; ind = ind | (ind + 1)){ t[ind]++; } } int get(int pos){ int res = 0; for(;pos >= 1; pos = (pos & (pos + 1)) - 1){ res += t[pos]; } return res; } main() { int ans = 0; cin >> n; for(int i = 1;i <= n; i++){ scanf("%lld", &a[i]); } int pos = 0; for(int i = 1;i <= n; i++){ if(a[i] == a[i + 1]){ continue; } pos++; a[pos] = a[i]; } n = pos; ans++; update(a[n]); for(int i = n - 1;i >= 1; i--){ if(a[i] < a[i + 1]){ if(get(a[i + 1]) - get(a[i]) != a[i + 1] - a[i]){ ans++; } } else{ ans++; } if(cnt[a[i]] == 0){ update(a[i]); cnt[a[i]] = 1; } } cout << ans; }

Compilation message (stderr)

money.cpp:31:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
money.cpp: In function 'int main()':
money.cpp:36:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld", &a[i]);
   ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...