#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=010203040506070809101.j=(3-1)*2=4,s變成0102040506070809102.j=4+4=8,s變成01020405070809102.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;}
#includeusing 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;jif(sum>m){s.erase(j,2);j+=(a[i]-1)*2;sum--;}else{break;}}/*例如: a[i]=3,s=010203040506070809101.j=(3-1)*2=4,s變成0102040506070809102.j=4+4=8,s變成01020405070809102.j=8+4=12,s變成01020405070810*/}cout<<"Selection #"<for(int i=0;iif(s[i]=='0'){cout<}else{cout<}}cout<<'\n'<<'\n';t++;}return 0;}
要改成
/*例如: a[i]=3,s=010203040506070809101.j=(3-1)*2=4,s變成0102040506070809102.j=4+4=8,s變成01020405070809103.j=8+4=12,s變成01020405070810*/