第一行输入一个整数
,表示测试用例组数。
每组测试用例格式如下:
第一行输入两个整数
;
第二行输入
个整数
.
对于每组测试用例,输出一行一个整数,表示
的值。
3 3 2 2 0 1 4 1 0 0 0 0 5 3 3 0 0 4 0
1 0 3
对于第一组数据:
,第
项
,
;第
项为
,
,赠出
枚,
;第
项无操作;因此
。
对于第三组数据:
,第
项
,
;第
项各赠出
枚,
;第
项
,
;第
项再赠出
枚,
;因此
。
#include <stdio.h>
int main() {
int T;
if (scanf("%d", &T) != 1 || T < 1 || T > 10000) {
return 1;
}
for (int i = 0; i < T; i += 1) {
int n, k;
if (scanf("%d %d", &n, &k) != 2 || n < 1 || n > 50 || k < 1 || k > 100) {
return 1;
}
int S = 0, cnt = 0;
for (int j = 0; j < n; j += 1) {
int a;
if (scanf("%d", &a) != 1 || a < 0 || a>100) {
return 1;
}
if (a >= k) {
S += a;
}
if (a == 0 && S >= 1) {
S -= 1;
cnt += 1;
}
}
printf("%d\n", cnt);
}
return 0;
} #include <stdio.h>
int main()
{
int T=0;
int n=0,k=0;
int cnt=0,S=0;
scanf("%d",&T);
int a[1000000];
for(int t=0;t<T;t++)
{
cnt=0,S=0;
scanf("%d %d",&n,&k);
for(int j=0;j<n;j++)
{
scanf("%d",&a[j]);
if(a[j]>=k)
{
S=S+a[j];
}
else if(a[j]==0&&S>=1)
{
S=S-1;
cnt=cnt+1;
}
}
printf("%d\n",cnt);
}
return 0;
} #include <stdio.h>
int main() {
int T,n,k,a[100];
scanf("%d",&T);
for(int i=0;i<T;i++){
int s=0,cnt=0;
scanf("%d%d",&n,&k);
for(int j=0;j<n;j++)
scanf("%d",&a[j]);
for(int j=0;j<n;j++){
if(a[j]>=k)
s+=a[j];
else if(a[j]==0&&s>=1){
s--;
cnt++;
}
}
printf("%d\n",cnt);
}
return 0;
} #include <stdio.h>
int main() {
int a[1005] = {0};
int T = 0, n = 0, k = 0;
scanf("%d", &T);
while (T-- > 0) {
int s = 0, cnt = 0;
scanf("%d %d", &n, &k);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] >= k) {
s += a[i];
}
if (a[i] == 0 && s >= 1) {
s -= 1;
cnt++;
}
}
printf("%d\n", cnt);
}
return 0;
} #include <stdio.h>
int main()
{
int T=0;
int i=0;
scanf("%d",&T);
int S=0,cnt=0;
for(i=0;i<T;i++)
{
int n=0;
int k=0;
scanf("%d %d",&n,&k);
int arr[50]={0};
int j=0;
for(j=0;j<n;j++)
{
scanf("%d",&arr[j]);
if(arr[j]>=k)
{
S=S+arr[j];
}
if(arr[j]==0&&S>=1)
{
S=S-1;
cnt=cnt+1;
}
}
printf("%d\n",cnt);
cnt=0;//置0
S=0;
}
return 0;
}