답안 #750111

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
750111 2023-05-29T06:55:07 Z MrM7md Zalmoxis (BOI18_zalmoxis) C++17
65 / 100
321 ms 115804 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);
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++){
      while(!kk[i].empty()&&k>0&&kk[i].back()>0){
         int x=kk[i].back()-1;
         kk[i].pop_back();
         kk[i].pb(x),kk[i].pb(x);
         k--;
      }
   }
   int id=0;
   for(int i=0;i<n;i++){
      cout<<a[i][0]<<' ';
      for(auto it:kk[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:54:8: warning: unused variable 'id' [-Wunused-variable]
   54 |    int id=0;
      |        ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 283 ms 114572 KB Output is correct
2 Correct 321 ms 115444 KB Output is correct
3 Correct 317 ms 114920 KB Output is correct
4 Correct 312 ms 115088 KB Output is correct
5 Correct 298 ms 115304 KB Output is correct
6 Correct 264 ms 114036 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 297 ms 114796 KB Unexpected end of file - int32 expected
2 Correct 274 ms 114028 KB Output is correct
3 Correct 291 ms 115276 KB Output is correct
4 Correct 296 ms 115504 KB Output is correct
5 Correct 315 ms 115008 KB Output is correct
6 Correct 297 ms 114832 KB Output is correct
7 Incorrect 305 ms 115228 KB Unexpected end of file - int32 expected
8 Incorrect 305 ms 115804 KB Unexpected end of file - int32 expected
9 Correct 246 ms 104596 KB Output is correct
10 Incorrect 158 ms 58540 KB Unexpected end of file - int32 expected
11 Correct 208 ms 72232 KB Output is correct
12 Incorrect 13 ms 23764 KB Unexpected end of file - int32 expected
13 Incorrect 16 ms 23708 KB Unexpected end of file - int32 expected
14 Incorrect 13 ms 23752 KB Unexpected end of file - int32 expected