CF83B题解
题目大意:
给你一个有
思路:
用一个结构体数组来存这
Code:
#include <iostream>
using namespace std;
struct bb {
long long c,d; // c 用来存储值,d 用来存储编号
};
bb a[100001];
void aa(int b){ //aa 就是整体往前移一位
for (long long i = 1 ; i <= b ; i ++){
a[i] = a[i + 1];
}
}
int main(){
long long n,k,l,l1; //l 用来存储 a[1]减玩后的值,l1用来存储a[1]的编号
cin >> n >> k;
for (long long i = 1 ; i <= n ; i ++){ //输入
cin >> a[i].c;
a[i].d = i;
}
for (long long i = 1 ; i <= k ; i ++){
if (n == 0){ //判断是否为空,为空直接输出-1
cout << -1;
return 0;
}
l = a[1].c - 1;
l1 = a[1].d;
if (l == 0){ //如果减完后等于 0,那么去掉
n --;
aa(n);
}
else { //否则,放到最后
aa(n-1);
a[n].c = l;
a[n].d = l1;
}
}
for (long long i = 1 ; i <= n ; i ++) { //输出
cout << a[i].d << ' ';
}
return 0;
}