제출 #750168

#제출 시각아이디문제언어결과실행 시간메모리
750168MrM7mdZalmoxis (BOI18_zalmoxis)C++17
100 / 100
252 ms77972 KiB
#include <bits/stdc++.h> using namespace std; // #define int long long #define endl '\n' #define F first #define S second #define pb push_back #define all(a) a.begin(),a.end() const int N=1e6+500; const int off=(1<<18); const int MOD = 1e9+7; vector<vector<int>>kk(N),ans(N); signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,k; cin >> n >> k; vector<pair<int,int>> a(n); for(int i=0;i<n;i++){ cin >> a[i].F; a[i].S=i; } vector<pair<int,int>>v=a; for(int i=0;i<=29;i++){ vector<pair<int,int>>t; for(int j=0;j<v.size();j++){ if(j+1<v.size()&&v[j].F==v[j+1].F&&v[j].F==i){ t.pb({v[j].F+1,v[j+1].S}); j++; } else if(v[j].F==i){ t.pb({v[j].F+1,v[j].S}); kk[v[j].S].pb(v[j].F); k--; } else{ t.pb(v[j]); } } v=t; } for(int i=0;i<n;i++){ while(!kk[i].empty()&&k>0){ int x=kk[i].back(); if(x==0){ ans[i].pb(x); kk[i].pop_back(); continue; } k--; kk[i].pop_back(); kk[i].pb(x-1),kk[i].pb(x-1); } // reverse(all(kk[i])); while(!kk[i].empty()&&k==0){ ans[i].pb(kk[i].back()); kk[i].pop_back(); } reverse(all(ans[i])); } for(int i=0;i<n;i++){ cout<<a[i].F<<' '; for(auto it:ans[i])cout<<it<<' '; } }

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

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:27:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |       for(int j=0;j<v.size();j++){
      |                   ~^~~~~~~~~
zalmoxis.cpp:28:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |          if(j+1<v.size()&&v[j].F==v[j+1].F&&v[j].F==i){
      |             ~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...