Submission #750143

# Submission time Handle Problem Language Result Execution time Memory
750143 2023-05-29T07:09:40 Z MrM7md Zalmoxis (BOI18_zalmoxis) C++17
75 / 100
279 ms 93284 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+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<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]);

             k--;
         }
         else{
            t.pb(v[j]);
         }
      }
      v=t;
   }
   for(int i=0;i<n;i++){
      for(auto it:kk[i]){
         ans[i].pb(it);
         while(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: 'int' and 'std::vector<std::array<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: 'int' and 'std::vector<std::array<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:56:8: warning: unused variable 'id' [-Wunused-variable]
   56 |    int id=0;
      |        ^~
# Verdict Execution time Memory Grader output
1 Correct 232 ms 92756 KB Output is correct
2 Correct 265 ms 93152 KB Output is correct
3 Correct 256 ms 92908 KB Output is correct
4 Correct 233 ms 92984 KB Output is correct
5 Correct 239 ms 93068 KB Output is correct
6 Correct 266 ms 92428 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 238 ms 92772 KB Output is correct
2 Correct 231 ms 92364 KB Output is correct
3 Correct 279 ms 93008 KB Output is correct
4 Correct 234 ms 93128 KB Output is correct
5 Correct 250 ms 92944 KB Output is correct
6 Correct 237 ms 92904 KB Output is correct
7 Incorrect 243 ms 93096 KB Unexpected end of file - int32 expected
8 Incorrect 255 ms 93284 KB Unexpected end of file - int32 expected
9 Correct 238 ms 88940 KB Output is correct
10 Correct 168 ms 66060 KB Output is correct
11 Correct 186 ms 72728 KB Output is correct
12 Incorrect 24 ms 47316 KB Unexpected end of file - int32 expected
13 Incorrect 25 ms 47336 KB Unexpected end of file - int32 expected
14 Incorrect 26 ms 47316 KB Unexpected end of file - int32 expected