Submission #869968

#TimeUsernameProblemLanguageResultExecution timeMemory
869968MercubytheFirstBaloni (COCI15_baloni)C++17
0 / 100
3 ms604 KiB
/* */ #include<iostream> #include<vector> #include<iomanip> #include<algorithm> #include<map> #include<set> #include<climits> #include<numeric> #include<queue> #include<unordered_map> #include<string> #include<climits> #include<unordered_set> #include<bitset> #include<cstring> #include<cmath> #include<stack> #include<tuple> #include<complex> #if 1 #define pb push_back #define endl '\n' #define fi first #define se second #define fio ios_base::sync_with_stdio(false);cin.tie(NULL); #define CDIV(a,b) (((a)+(b)-(1))/(b)) using namespace std; using ll = long long; using ld = long double; const ll inf = 1e9 + 5; const ll mod = 998244353; const ll N = 1e6 + 4; const ld PI = acos((ld)-1); #endif void fileio(string s = "test"){ #ifndef ONLINE_JUDGE freopen((s+string(".in")).c_str(),"r",stdin); freopen((s+string(".out")).c_str(),"w",stdout); #endif } ll bpow(ll a, ll p) { if(a == 0 or a == 1)return a; ll ans = 1; while(p) { if(p&1)ans = ans * a % mod; a = a * a % mod; p >>= 1; } return ans; } ll add(ll a, ll b){ if(a + b >= mod) return a + b - mod; return a + b; } ll sub(ll a, ll b){ if(a - b >= 0) return a - b; return a - b + mod; } ll mul(ll a, ll b){ return (a%mod)*(b%mod)%mod; } ll digitSum(ll n){ ll sum = 0; while(n){ sum += n % 10; n /= 10; } return sum; } inline void solve(){ int n; cin >> n; int v[n + 1]; vector<int> keep[n + 1]; for(int i = 1; i <= n; ++i){ cin >> v[i]; keep[v[i]].pb(i); } for(int i = 1; i <= n; ++i){ if(keep[i].size() >= 2) reverse(keep[i].begin(), keep[i].end()); } int ans = 0; for(int i = 1; i <= n; ++i){ if(v[i] == -1) continue; int cur = v[i]; ans++; while(cur >= 1 and !keep[cur].empty()){ v[keep[cur].back()] = -1; keep[cur].pop_back(); cur--; } } cout << ans << endl; } signed main(){ fileio(); fio; // int t = 0;cin >> t;while(t-->0) solve(); } /* 2 9 9 3 1 1 3 8 8 8 */

Compilation message (stderr)

baloni.cpp: In function 'void fileio(std::string)':
baloni.cpp:45:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |         freopen((s+string(".in")).c_str(),"r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
baloni.cpp:46:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |         freopen((s+string(".out")).c_str(),"w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...