暴力 遍历
将所有k从1到M遍历一次,将第一个符合两个区间都在[ x , y ] 之间输出。
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
int m, a[105];
while(scanf("%d", &m)!=EOF) {
for(int i = 1; i <= m; i++) {
scanf("%d", &a[i]);
}
int x, y;
scanf("%d%d", &x, &y);
int k;
//int max_k = -1;
for(int i = 1; i <= m; i++) {
k = i;
int cnt1 = 0, cnt2 = 0;
for(int j = 1; j < k; j++) {
cnt1 += a[j];
}
for(int t = k; t <= m; t++) {
cnt2 += a[t];
}
if(cnt1 >= x && cnt1 <= y && cnt2 >= x && cnt2 <= y) {
/*
if(k > max_k)
max_k = k;
*/
printf("%d\n", k);
return 0;
}
}
/*
if(max_k != -1)
printf("%d\n", max_k);
else
*/
printf("0\n");
}
return 0;
}