标签:tput out else turn 差值 int main return 区间
cf327A
这一题理解:给你一个数n,然后接着n个由0或1组成的数,
求一段区间内 0的数-1的数差值最大的区间,然后把0和1互换。
最后数数有几个1。
思路:进行两次for循环,卡区间,然后再一个for循环找目前区间里0与1数目差值的最大值。最后最大值输出即可。
Input
5
1 0 0 1 0
Output
4
Input
4
1 0 0 1
Output
4
#include <stdio.h>
int main()
{
int n,i,j,k,a[110];
int num1=0,num2=0,num3=0,max=-1,x,y;
int sum=0,t;
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf ("%d",&a[i]);
if (a[i]==1)
sum++;
}
for (i=0; i<n; i++)
{
for (j=i; j<n; j++)
{
num1=0,num2=0;
for (k=i; k<=j; k++)
{
if (a[k]==0)
num1++;
else if (a[k]==1)
num2++;
}
num3=num1-num2;
if (num3>max)
{
max=num3;
x=i;
y=j;
}
}
}
printf("%d\n",max+sum);
return 0;}
标签:tput out else turn 差值 int main return 区间
原文地址:https://www.cnblogs.com/shidianshixuan/p/13376205.html