HDOJ-1166

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1166

始终不明为什么第一个代码不超时,然而第二个超时

#include<iostream>
#include<cstdio>
#include<cstring>
const int MAX=50010;
int s[MAX];
int n;
int Sum[MAX];
using namespace std;
void Add()
{
    int a,b,i;
    scanf("%d%d",&a,&b);
    {
     for(i=a;i<=n;i++)
     Sum[i]+=b;
    }
}
void Sub()
{
    int a,b,i;
    scanf("%d%d",&a,&b);
    {
     for(i=a;i<=n;i++)
     Sum[i]-=b;
    }
}
void Query()
{
    int a,b,i;
    int sum;
    scanf("%d%d",&a,&b);
    printf("%d\n",Sum[b]-Sum[a-1]);
}
int main()
{
    int t,i,j,k=1,x,y;
    char a[10];
    scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        printf("Case %d:\n",k++);
        memset(Sum,0,sizeof(Sum));
        scanf("%d",&n);
        for(j=1;j<=n;j++)
        {
         scanf("%d",&s[j]);
         Sum[j]=(Sum[j-1]+s[j]);
        }
        scanf("%s",&a);
        while(a[0]!=‘E‘)
        {
            if(a[0]==‘A‘)
            {
                Add();
            }
            else if(a[0]==‘S‘)
            {
                Sub();
            }
            else
            Query();
            scanf("%s",&a);
        }
    }
    return 0;
}

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[50010],sum[50010];
int Query(int x,int y)
{
	int i,c=0;
	for(i=x-1;i<y;i++) 
		c+=a[i];
	return c;
}
int main()
{
    int t,n,i,j,k,l,b,c;
    scanf("%d",&t);
    for(k=1;k<=t;k++)
    {
        memset(sum,0,sizeof(sum));
        scanf("%d",&n);
        c=0;
        char zl[10]={};
        for(l=0;l<n;l++)
            scanf("%d",&a[l]);
        while(scanf("%s",&zl)&&zl[0]!=‘E‘)
        {
            scanf("%d%d",&j,&b);
            if(zl[0]==‘Q‘)
            {
		sum[c]=Query(j,b);
                c++;
            }
            else if(zl[0]==‘A‘)
            {
                a[j-1]+=b;
            }
            else if(zl[0]==‘S‘)
            {
                a[j-1]-=b;
            }
        }
        printf("Case %d:\n",k);
        for(i=0;i<c;i++)
            printf("%d\n",sum[i]);
    }
    return 0;
}


求路过的大神解释~

HDOJ-1166

上一篇:TP-LINK TL-WN823N 300M driver for linux


下一篇:iOS学习之UIControl