Submission #35554024
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for (int i=a;i<(int)n;i++)
template <typename T> using minPQ = priority_queue<T,vector<T>, greater<T>>; // 小根堆
int read(){int r;scanf("%d",&r);return r;}
vector<int> calc(vector<pair<int,bool>>&A,int del){ // {value, free del?}
vector<int> ret={};
minPQ<pair<int,int>> vi; // value,index
int li=0;
int ri=-1; // [li..ri] 中选择最小的一个作为剩余的头
auto moveri=[&](int d){
while(d>=0) {
if(++ri>=(int)A.size())break;
if(!A[ri].second)d--;// not free d
vi.push({A[ri].first,ri});
}
};
moveri(del);
while(ri<(int)A.size()){
auto [v,i]=vi.top();
vi.pop();
if(i<li)continue;
// use A[i], [li...i...ri] => [i+1..ri+(1/0)]
ret.push_back(v);
li=i+1;
if(!A[i].second)moveri(0);
}
return ret;
}
void p(const vector<int>&A){rep(i,0,A.size())printf("%d%c",A[i]," \n"[i+1==(int)A.size()]);}
int le(const vector<int>&A,const vector<int>&B){ // less equal
int n = min(A.size(),B.size());
rep(i,0,n)if(A[i]!=B[i]) return A[i]<B[i];
return A.size()<B.size();
}
int main(){
int n = read();
vector<int>a(n);
int k = read();
rep(i,0,n) a[i]=read();
if(k==0){
p(a);
return 0;
}
// left del
int li=0;
rep(i,0,k+1)if(a[i]<a[li])li=i;
vector<pair<int,bool>>al={};
rep(i,li,n)al.push_back({a[i],false});
auto ansl=calc(al,k-li);
// right move
int ri=n-1;
rep(i,0,k) if(a[n-1-i]<a[ri])ri=n-1-i;
vector<pair<int,bool>>ar={};
rep(i,0,n)ar.push_back({a[(ri+i)%n],ri+i<n});
auto ansr=calc(ar,k-(n-ri));
p(le(ansl,ansr)?ansl:ansr);
return 0;
}
Submission Info
Submission Time
2022-10-10 01:09:31+0900
Task
F - Erase and Rotate
User
cromarmot
Language
C++ (GCC 9.2.1)
Score
500
Code Size
1631 Byte
Status
AC
Exec Time
81 ms
Memory
10440 KiB
Compile Error
./Main.cpp: In function ‘int read()’:
./Main.cpp:5:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
5 | int read(){int r;scanf("%d",&r);return r;}
| ~~~~~^~~~~~~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
500 / 500
Status
Set Name
Test Cases
Sample
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_sall_00.txt, 01_sall_01.txt, 01_sall_02.txt, 01_sall_03.txt, 01_sall_04.txt, 01_sall_05.txt, 01_sall_06.txt, 01_sall_07.txt, 01_sall_08.txt, 01_sall_09.txt, 01_sall_10.txt, 01_sall_11.txt, 01_sall_12.txt, 01_sall_13.txt, 01_sall_14.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 03_inc_00.txt, 03_inc_01.txt, 03_inc_02.txt, 03_inc_03.txt, 03_inc_04.txt, 03_inc_05.txt, 03_inc_06.txt, 03_inc_07.txt, 03_inc_08.txt, 04_dec_00.txt, 04_dec_01.txt, 04_dec_02.txt, 04_dec_03.txt, 04_dec_04.txt, 04_dec_05.txt, 04_dec_06.txt, 04_dec_07.txt, 04_dec_08.txt, 05_hand_00.txt, 05_hand_01.txt, 05_hand_02.txt
Case Name
Status
Exec Time
Memory
00_sample_00.txt
AC
8 ms
3668 KiB
00_sample_01.txt
AC
2 ms
3720 KiB
00_sample_02.txt
AC
2 ms
3672 KiB
01_sall_00.txt
AC
1 ms
3544 KiB
01_sall_01.txt
AC
2 ms
3492 KiB
01_sall_02.txt
AC
2 ms
3560 KiB
01_sall_03.txt
AC
2 ms
3504 KiB
01_sall_04.txt
AC
2 ms
3588 KiB
01_sall_05.txt
AC
2 ms
3512 KiB
01_sall_06.txt
AC
1 ms
3548 KiB
01_sall_07.txt
AC
2 ms
3540 KiB
01_sall_08.txt
AC
2 ms
3716 KiB
01_sall_09.txt
AC
2 ms
3564 KiB
01_sall_10.txt
AC
2 ms
3512 KiB
01_sall_11.txt
AC
2 ms
3544 KiB
01_sall_12.txt
AC
2 ms
3688 KiB
01_sall_13.txt
AC
2 ms
3720 KiB
01_sall_14.txt
AC
2 ms
3680 KiB
02_rnd_00.txt
AC
65 ms
9120 KiB
02_rnd_01.txt
AC
57 ms
9500 KiB
02_rnd_02.txt
AC
69 ms
9232 KiB
02_rnd_03.txt
AC
66 ms
9608 KiB
02_rnd_04.txt
AC
77 ms
10336 KiB
02_rnd_05.txt
AC
81 ms
10376 KiB
02_rnd_06.txt
AC
62 ms
9328 KiB
02_rnd_07.txt
AC
61 ms
9172 KiB
03_inc_00.txt
AC
58 ms
10072 KiB
03_inc_01.txt
AC
59 ms
9748 KiB
03_inc_02.txt
AC
55 ms
9776 KiB
03_inc_03.txt
AC
62 ms
9780 KiB
03_inc_04.txt
AC
61 ms
9748 KiB
03_inc_05.txt
AC
57 ms
9912 KiB
03_inc_06.txt
AC
62 ms
10176 KiB
03_inc_07.txt
AC
60 ms
10136 KiB
03_inc_08.txt
AC
57 ms
9552 KiB
04_dec_00.txt
AC
58 ms
10044 KiB
04_dec_01.txt
AC
57 ms
10080 KiB
04_dec_02.txt
AC
56 ms
10180 KiB
04_dec_03.txt
AC
60 ms
9996 KiB
04_dec_04.txt
AC
58 ms
10252 KiB
04_dec_05.txt
AC
58 ms
9872 KiB
04_dec_06.txt
AC
61 ms
9868 KiB
04_dec_07.txt
AC
60 ms
9912 KiB
04_dec_08.txt
AC
62 ms
9908 KiB
05_hand_00.txt
AC
56 ms
9608 KiB
05_hand_01.txt
AC
58 ms
9604 KiB
05_hand_02.txt
AC
65 ms
10440 KiB