注意:非零项不用输出且不算在总个数内
由于这点开始一直17分

#include<cstdio>
using namespace std;
const int N = 1e3+5;
int main()
{
    int k,n;
    double a;
    double num[N]= {0};
    int t = 2;
    int index = 0,cnt = 0;
    while(t--)
    {
        scanf("%d",&k);
        while(k--)
        {
            scanf("%d%lf",&n,&a);
            num[n] += a;
            if(index<n)
                index = n;
        }
    }
    for(int i = index; i>=0; --i)
        if(num[i]!=0.0)
            cnt++;
    printf("%d",cnt);
    for(int i = index; i>=0; --i)
    {
        if(num[i]!=0.0)
            printf(" %d %.1f",i,num[i]);
    }
    printf("\n");
    return 0;
}