暴力解法 有更优解欢迎讨论一下纸~
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int m=sc.nextInt();
int[] nums = new int[m];
for(int i=0;i<m;i++){
nums[i]=sc.nextInt();
}
Kolakoski(nums,n);
}
}
public static void Kolakoski(int[] nums,int m){
ArrayList<Integer> result = new ArrayList<Integer>();
int times=nums[0],index=0,indexOfTimes=1,flag=0;
if(times==1)flag=1;
while(result.size()<m){
while(times>0){
result.add(nums[index]);
times--;
}
if(index<nums.length-1){
index++;
}else{
index=0;
}
if(flag==1){
times=nums[1];
flag=0;
}else{
times=result.get(indexOfTimes);
}
indexOfTimes++;
}
for(int i=0;i<m;i++){
System.out.println(result.get(i));
}
}
}