제출 #750128

#제출 시각아이디문제언어결과실행 시간메모리
750128MrM7mdZalmoxis (BOI18_zalmoxis)C++17
70 / 100
369 ms139228 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; 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<array<int,3>> a(n); for(int i=0;i<n;i++){ cin >> a[i][0]; a[i][1]=a[i][2]=i; } vector<array<int,3>>v=a; for(int i=0;i<=29;i++){ vector<array<int,3>>t; for(int j=0;j<v.size();j++){ if(j+1<v.size()&&v[j][0]==v[j+1][0]&&v[j][0]==i){ t.pb({v[j][0]+1,v[j][1],v[j+1][2]}); j++; } else if(v[j][0]==i){ t.pb({v[j][0]+1,v[j][1],v[j][2]}); kk[v[j][2]].pb(v[j][0]); // sort(all(kk[v[j][2]])); k--; // cout<<kk.F<<endl; } else{ t.pb(v[j]); } } v=t; } for(int i=0;i<n;i++){ for(auto it:kk[i]){ ans[i].pb(it); while(!ans[i].empty()&&k>0&&ans[i].back()>1){ int x=ans[i].back()-1; ans[i].pop_back(); ans[i].pb(x),ans[i].pb(x); k--; } } } for(int i=0;i<n;i++){ cout<<a[i][0]<<' '; 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: 'long long int' and 'std::vector<std::array<long long int, 3> >::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: 'long long int' and 'std::vector<std::array<long long int, 3> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |          if(j+1<v.size()&&v[j][0]==v[j+1][0]&&v[j][0]==i){
      |             ~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...