PATA1009

原创 2017年01月03日 21:27:02
#include<cstdio>
int main(){
    double a[1001]={0},b[1001]={0},c[2002]={0};
    int k,maxa=0,maxb=0,n,cnt=0;
    scanf("%d",&k);
    while(k--){
        scanf("%d",&n);
        if(n>maxa)maxa=n;
        scanf("%lf",&a[n]);
    }
    scanf("%d",&k);
    while(k--){
        scanf("%d",&n);
        if(n>maxb)maxb=n;
        scanf("%lf",&b[n]);
    }
    for(int i=maxb;i>=0;i--){
        for(int j=maxa;j>=0;j--){
            if(a[j]*b[i]){
                if(c[i+j]==0)cnt++;
                c[i+j]+=a[j]*b[i];
            }
        }
    }
    printf("%d",cnt);//if(cnt==0)return 0;
    for(int i=2001;i>=0;i--){
        if(c[i]!=0)printf(" %d %.1lf",i,c[i]);
    }
    return 0;
}

第一个case过不了

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PATA1009
举报原因:
原因补充:

(最多只允许输入30个字)