답안 #750119

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
750119 2023-05-29T06:59:10 Z MrM7md Zalmoxis (BOI18_zalmoxis) C++17
75 / 100
311 ms 139180 KB
#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()>0){
            int x=ans[i].back()-1;
            ans[i].pop_back();
            ans[i].pb(x),ans[i].pb(x);
            k--;
         }
      }
   }
   int id=0;
   for(int i=0;i<n;i++){
      cout<<a[i][0]<<' ';
      for(auto it:ans[i])cout<<it<<' ';
   }
}

Compilation message

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){
      |             ~~~^~~~~~~~~
zalmoxis.cpp:57:8: warning: unused variable 'id' [-Wunused-variable]
   57 |    int id=0;
      |        ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 270 ms 138016 KB Output is correct
2 Correct 311 ms 138868 KB Output is correct
3 Correct 303 ms 138408 KB Output is correct
4 Correct 283 ms 138676 KB Output is correct
5 Correct 289 ms 138748 KB Output is correct
6 Correct 265 ms 137424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 288 ms 138404 KB Output is correct
2 Correct 266 ms 137432 KB Output is correct
3 Correct 290 ms 138820 KB Output is correct
4 Correct 290 ms 139020 KB Output is correct
5 Correct 290 ms 138564 KB Output is correct
6 Correct 289 ms 138332 KB Output is correct
7 Incorrect 289 ms 138792 KB Unexpected end of file - int32 expected
8 Incorrect 297 ms 139180 KB Unexpected end of file - int32 expected
9 Correct 280 ms 128156 KB Output is correct
10 Correct 182 ms 82344 KB Output is correct
11 Correct 209 ms 95744 KB Output is correct
12 Incorrect 25 ms 47176 KB Unexpected end of file - int32 expected
13 Incorrect 26 ms 47228 KB Unexpected end of file - int32 expected
14 Incorrect 25 ms 47244 KB Unexpected end of file - int32 expected