제출 #219131

#제출 시각아이디문제언어결과실행 시간메모리
2191312fat2codeZalmoxis (BOI18_zalmoxis)C++17
0 / 100
175 ms29284 KiB
#include <bits/stdc++.h> #define ll long long #define ld long double #define all(a) (a).begin(), (a).end() #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define sz() size() #define fr first #define sc second #define pi pair<int,int> #define pii pair<pair<int,int>,int> #define mp make_pair #define int long long #define rc(s) return cout<<s,0 #define rcc(s) cout<<s,exit(0) using namespace std; const int mod=1e9+7; const int modp=1999999973; const int modulo=998244353; const int nmax=1000005; int n,k,a[nmax]; vector<pair<int,int>>pref; vector<int>vecc,ans; int32_t main(){ ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); srand(chrono::steady_clock::now().time_since_epoch().count()); // ifstream cin("input.in"); cin >> n >> k; for(int i=1;i<=n;i++) cin >> a[i]; for(int i=1;i<=n;i++){ if(vecc.size()){ if(a[i]>=vecc.back()){ while(a[i]>vecc.back()){ int curr=vecc.back(); vecc.pop_back(); vecc.push_back(curr+1); pref.push_back({curr,1}); } pref.push_back({a[i],0}); int curr=a[i]; while(vecc.size() && curr==vecc.back()){ vecc.pop_back(); curr++; } vecc.push_back(curr); } else{ pref.push_back({a[i],0}); vecc.push_back(a[i]); } } else{ vecc.push_back(a[i]); pref.push_back({a[i],0}); } } for(auto it:pref) cout << it.fr << ' '; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...