제출 #278064

#제출 시각아이디문제언어결과실행 시간메모리
278064test2Zalmoxis (BOI18_zalmoxis)C++14
0 / 100
1107 ms106392 KiB
#include<bits/stdc++.h> #define I inline void using namespace std ; using ll = long long ; using ld = long double ; const int N = 1e5 + 7 ; // How interesting! int n , k ; int main(){ ios_base::sync_with_stdio(0) ; cin.tie(0) ; //freopen("in.in", "r" , stdin) ; cin >> n >> k ; multiset<int> mul ; multiset< pair<int , int > > v ; for(int i = 1 ;i <= n ;i++){ int x ; cin >> x ; mul.insert(x) ; v.insert({x , i }) ; } set<int> adds ; for(int i = 0 ;i < k ;i++){ auto it = mul.begin() ; auto itt = it ; itt++ ; if(it == mul.end() || (*itt) != (*it) ){ adds.insert(*it) ; mul.erase(it) ; mul.insert( (*it) + 1) ; } else { mul.erase(it) ; mul.erase(itt) ; mul.insert((*it) + 1) ; i-- ; } } int j = 0 ; int last = 0 ; vector<pair< int , int > > ans ; int st = 0 ; for(auto u : v){ if(!j) j = u.second , st =u.second; auto it = adds.begin() ; while(adds.size() && (*it) < u.first ){ adds.erase(it) ; ans.push_back({j++ , (*it)}) ; it = adds.begin() ; } if( u.second < st ) ans.push_back({ u.second , u.first}) ; else ans.push_back({j++ , u.first}) ; } for(auto u : adds) ans.push_back({j++ , u}) ; sort(ans.begin(), ans.end()) ; for(auto u : ans) cout<< u.second <<" "; return 0 ; }

컴파일 시 표준 에러 (stderr) 메시지

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:55:6: warning: unused variable 'last' [-Wunused-variable]
   55 |  int last = 0 ;
      |      ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...