#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,m,t=1;
while(cin>>n>>m){
long long a[20],sum=n;
string s="";
for(int i=0;i<20;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){ //將1~n變成字串(像若n=20則s=01020304......181920)
if(i/10==0){
s+="0";
s+=to_string(i);
}
else{
s+=to_string(i);
}
}
for(int i=0;i<20;i++){
for(int j=(a[i]-1)*2;j<s.size();){ //刪掉a[i]裡的東西(像若a[i]=3, s.size()=10則刪掉03,06,09)
if(sum>m){
s.erase(j,2);
j+=(a[i]-1)*2;
sum--;
}
else{
break;
}
}
/*
例如: a[i]=3,s=01020304050607080910
1.j=(3-1)*2=4,s變成010204050607080910
2.j=4+4=8,s變成0102040507080910
2.j=8+4=12,s變成01020405070810
*/
}
cout<<"Selection #"<<t<<'\n';
for(int i=0;i<s.size()-1;i+=2){
if(s[i]=='0'){
cout<<s[i+1]<<' ';
}
else{
cout<<s[i]<<s[i+1]<<' ';
}
}
cout<<'\n'<<'\n';
t++;
}
return 0;
}
#include
using namespace std;
int main(){
long long n,m,t=1;
while(cin>>n>>m){
long long a[20],sum=n;
string s="";
for(int i=0;i<20;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){ //將1~n變成字串(像若n=20則s=01020304......181920)
if(i/10==0){
s+="0";
s+=to_string(i);
}
else{
s+=to_string(i);
}
}
for(int i=0;i<20;i++){
for(int j=(a[i]-1)*2;j
if(sum>m){
s.erase(j,2);
j+=(a[i]-1)*2;
sum--;
}
else{
break;
}
}
/*
例如: a[i]=3,s=01020304050607080910
1.j=(3-1)*2=4,s變成010204050607080910
2.j=4+4=8,s變成0102040507080910
2.j=8+4=12,s變成01020405070810
*/
}
cout<<"Selection #"<
for(int i=0;i
if(s[i]=='0'){
cout<
}
else{
cout<
}
}
cout<<'\n'<<'\n';
t++;
}
return 0;
}
要改成
/*
例如: a[i]=3,s=01020304050607080910
1.j=(3-1)*2=4,s變成010204050607080910
2.j=4+4=8,s變成0102040507080910
3.j=8+4=12,s變成01020405070810
*/