1481 B. New Colony
题目大意:
给个n,k
n个山峰,k个小球
问你如果可以滚下,输出-1
不可以,输出最后一个小球填补的位置
思路分析:
现在看来是一个很朴素的模拟题了。。。也找出了比赛时代码错误的原因(竟是思路分析错了!太偷懒了!想的要朴素一点!)
AC代码:
#include<iostream>
using namespace std;
const int N = 110;
int h[N];
int n, k;
int main() {
int t;
cin >> t;
while (t--) {
cin >> n >> k;
bool flag = true;
for (int i = 0; i < n; i++)
cin >> h[i];
int res;
for (int i = k; i > 0; i--) {
int j;
for (j = 0; j < n - 1; j++) {
if (h[j] < h[j + 1]) {
h[j] += 1;
res = j;
break;
}
}
if(j == n-1) {
cout << "-1" << endl;
flag = false;
break;
}
}
if(flag)
cout << res + 1 << endl;
}
return 0;
}