Submission #6500003


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
inline void rd(int &x){
  int k, m=0;
  x=0;
  for(;;){
    k = getchar_unlocked();
    if(k=='-'){
      m=1;
      break;
    }
    if('0'<=k&&k<='9'){
      x=k-'0';
      break;
    }
  }
  for(;;){
    k = getchar_unlocked();
    if(k<'0'||k>'9'){
      break;
    }
    x=x*10+k-'0';
  }
  if(m){
    x=-x;
  }
}
inline void rd(long long &x){
  int k, m=0;
  x=0;
  for(;;){
    k = getchar_unlocked();
    if(k=='-'){
      m=1;
      break;
    }
    if('0'<=k&&k<='9'){
      x=k-'0';
      break;
    }
  }
  for(;;){
    k = getchar_unlocked();
    if(k<'0'||k>'9'){
      break;
    }
    x=x*10+k-'0';
  }
  if(m){
    x=-x;
  }
}
inline void wt_L(char a){
  putchar_unlocked(a);
}
inline void wt_L(int x){
  char f[10];
  int m=0, s=0;
  if(x<0){
    m=1;
    x=-x;
  }
  while(x){
    f[s++]=x%10;
    x/=10;
  }
  if(!s){
    f[s++]=0;
  }
  if(m){
    putchar_unlocked('-');
  }
  while(s--){
    putchar_unlocked(f[s]+'0');
  }
}
int N;
int A[200000];
long long K;
int ls[200001];
int nx[200000];
int p[200000];
int res[200000];
int ress;
int main(){
  int i, j, k;
  rd(N);
  rd(K);
  {
    int Lj4PdHRW;
    for(Lj4PdHRW=0;Lj4PdHRW<N;Lj4PdHRW++){
      rd(A[Lj4PdHRW]);
    }
  }
  for(i=N-1;i>=0;i--){
    ls[A[i]] = N+i;
  }
  for(i=N-1;i>=0;i--){
    nx[i] = ls[A[i]] + 1;
    while(nx[i] >= N){
      nx[i] -= N;
      p[i]++;
    }
    ls[A[i]] = i;
  }
  i = k = 0;
  for(;;){
    k += p[i];
    i = nx[i];
    if(i==0){
      break;
    }
  }
  K %= k;
  i = 0;
  while(K){
    if(K-p[i] < 0 || (K-p[i] == 0 && nx[i] > 0)){
      res[ress++] = A[i];
      i++;
      if(i==N){
        K--;
        i=0;
      }
      continue;
    }
    K -= p[i];
    i = nx[i];
  }
  {
    int KL2GvlyY;
    if(ress==0){
      putchar_unlocked('\n');
    }
    else{
      for(KL2GvlyY=0;KL2GvlyY<ress-1;KL2GvlyY++){
        wt_L(res[KL2GvlyY]);
        wt_L(' ');
      }
      wt_L(res[KL2GvlyY]);
      wt_L('\n');
    }
  }
  return 0;
}
// cLay varsion 20190721-1

// --- original code ---
// int N, A[2d5];
// ll K;
// 
// int ls[200001];
// int nx[2d5], p[2d5];
// 
// int res[2d5], ress;
// 
// {
//   int i, j, k;
//   rd(N,K,A(N));
// 
//   for(i=N-1;i>=0;i--) ls[A[i]] = N+i;
//   for(i=N-1;i>=0;i--){
//     nx[i] = ls[A[i]] + 1;
//     while(nx[i] >= N) nx[i] -= N, p[i]++;
//     ls[A[i]] = i;
//   }
// 
//   i = k = 0;
//   for(;;){
//     k += p[i];
//     i = nx[i];
//     if(i==0) break;
//   }
// 
//   K %= k;
// 
//   i = 0;
//   while(K){
//     if(K-p[i] < 0 || (K-p[i] == 0 && nx[i] > 0)){
//       res[ress++] = A[i];
//       i++;
//       if(i==N) K--, i=0;
//       continue;
//     }
// 
//     K -= p[i];
//     i = nx[i];
//   }
// 
//   wt(res(ress));
// }

Submission Info

Submission Time
Task B - Do Not Duplicate
User LayCurse
Language C++14 (GCC 5.4.1)
Score 700
Code Size 2938 Byte
Status AC
Exec Time 15 ms
Memory 5376 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 4
AC × 34
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KiB
01-02.txt AC 2 ms 640 KiB
01-03.txt AC 3 ms 768 KiB
01-04.txt AC 6 ms 1664 KiB
01-05.txt AC 2 ms 640 KiB
01-06.txt AC 7 ms 2304 KiB
01-07.txt AC 10 ms 2048 KiB
01-08.txt AC 6 ms 2304 KiB
01-09.txt AC 8 ms 2944 KiB
01-10.txt AC 8 ms 3200 KiB
01-11.txt AC 7 ms 2688 KiB
01-12.txt AC 4 ms 1536 KiB
01-13.txt AC 5 ms 2176 KiB
01-14.txt AC 4 ms 1792 KiB
01-15.txt AC 6 ms 2688 KiB
01-16.txt AC 8 ms 1920 KiB
01-17.txt AC 5 ms 1920 KiB
01-18.txt AC 8 ms 1920 KiB
01-19.txt AC 10 ms 2432 KiB
01-20.txt AC 9 ms 2432 KiB
01-21.txt AC 8 ms 2432 KiB
01-22.txt AC 10 ms 3328 KiB
01-23.txt AC 11 ms 3328 KiB
01-24.txt AC 11 ms 3328 KiB
01-25.txt AC 14 ms 4864 KiB
01-26.txt AC 13 ms 4736 KiB
01-27.txt AC 12 ms 4352 KiB
01-28.txt AC 6 ms 2944 KiB
01-29.txt AC 6 ms 2944 KiB
01-30.txt AC 15 ms 5376 KiB
sample-01.txt AC 1 ms 256 KiB
sample-02.txt AC 1 ms 256 KiB
sample-03.txt AC 1 ms 256 KiB
sample-04.txt AC 1 ms 256 KiB