Submission #976969

#TimeUsernameProblemLanguageResultExecution timeMemory
976969IsamMoney (IZhO17_money)C++17
0 / 100
2 ms4700 KiB
#include<bits/stdc++.h> using namespace std; #define eb emplace_back constexpr int sz = 1e6 + 6; int n, a[sz], c[sz]; vector<vector<int>> b, newe; map<pair<int, int>, int> co, deco; signed main(){ ios_base::sync_with_stdio(0), cin.tie(0); cin >> n; memset(c, -1, sizeof(c)); for(register int i = 1; i <= n; ++i){ cin >> a[i]; co[{a[i], i}]; if(c[a[i]] == -1) c[a[i]] = i; } int tot(0); for(auto &to : co){ to.second = ++tot; } for(register int i = 1; i <= n; ++i){ a[i] = co[{a[i], i}]; } for(register int i = 1; i <= n; ++i){ vector<int> tmp = {a[i++]}; while(a[i-1] <= a[i]){ tmp.eb(a[i]); ++i; } b.eb((vector<int>)tmp); --i; } // for(auto to : b){ // for(auto toto : to) cout << toto << ' '; // cout << '\n'; // } for(auto &to : b){ vector<int> tmp = to, d; const int m = tmp.size(); tmp.eb(0); for(register int i = 0; i < m; ++i){ d.eb(tmp[i]); int l = tmp[i], r = tmp[i+1]; bool flag = false; for(register int j = l; j <= r && !flag; ++j){ if(c[j] < c[l]) flag = true; } if(flag || i == m-1){ newe.eb((vector<int>)d); d.clear(); } } } // for(auto to : newe){ // for(auto toto : to) cout << toto << ' '; // cout << '\n'; // } cout << (int)newe.size() << '\n'; }

Compilation message (stderr)

money.cpp: In function 'int main()':
money.cpp:18:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   18 |  for(register int i = 1; i <= n; ++i){
      |                   ^
money.cpp:30:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   30 |  for(register int i = 1; i <= n; ++i){
      |                   ^
money.cpp:34:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   34 |  for(register int i = 1; i <= n; ++i){
      |                   ^
money.cpp:62:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   62 |   for(register int i = 0; i < m; ++i){
      |                    ^
money.cpp:68:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   68 |    for(register int j = l; j <= r && !flag; ++j){
      |                     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...