Cod sursa(job #918311)

Utilizator apopeid13Apopeid Alejandro apopeid13 Data 18 martie 2013 19:54:46
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include<stdio.h>
int v[1030],f[1030],s[1030];
int main()
{
    freopen("balanta.in","r",stdin);
    freopen("balanta.out","w",stdout);
    int n,m,k,i,r,max=0,nr;
    scanf("%d%d",&n,&m);
    while(m)
    {
        m--;
        scanf("%d",&k);
        for(i=1;i<=2*k;i++)
            scanf("%d",&v[i]);
        scanf("%d",&r);
        if(r==0)
        {
            for(i=1;i<=k*2;i++)
                s[v[i]]=1;
        }
        if(r==1)
        {
            for(i=1;i<=k;i++)
                f[v[i]]++;
            for(i=k+1;i<=2*k;i++)
                f[v[i]]--;
        }
        else
        {
            for(i=1;i<=k;i++)
                f[v[i]]--;
            for(i=k+1;i<=2*k;i++)
                f[v[i]]++;
        }
    }
    /////////////////
    for(i=1;i<=n;i++)
    {
        if(s[i]==1)
            continue;
        if(f[i]==max||(-f[i])==max)
        {
            nr=0;
            continue;
        }
        if(f[i]>max)
        {
            max=f[i];
            nr=i;
        }
        else
            if(f[i]<(-max))
            {
                max=(-f[i]);
                nr=i;
            }
    }
    printf("%d\n",nr);
    return 0;
}