Cod sursa(job #1516062)

Utilizator Julian.FMI Caluian Iulian Julian. Data 2 noiembrie 2015 17:51:52
Problema Balanta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <iostream>
#include <fstream>
#define nmax 1050

using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int v[nmax],a[nmax];

int main()
{int n,m,i,k,m1,m2,mp,mn,k2,num2,r,num;
    fin>>n>>m;
    while(m--)
    {fin>>k;
    m1=0;
   for(i=1;i<=k;i++)
        {fin>>a[i];
         if(v[a[i]]>m1)m1=v[a[i]];}
    m2=0;
    for(i=1;i<=k;i++)
        {fin>>a[k+i];
         if(v[a[k+i]]>m2)m2=v[a[k+i]];
        }

    fin>>r;

    if(r==0)
        for(i=1;i<=k;i++)
        { v[a[i]]=0;
        v[a[k+i]]=0;
        }
    else if(r==1)
        {
            for(i=1;i<=k;i++)
            v[a[i]]++;
            for(i=1;i<=k;i++)
            v[a[i+k]]--;

        }
    else {
            for(i=1;i<=k;i++)
            v[a[i+k]]++;
            for(i=1;i<=k;i++)
            v[a[i]]--;
        }

    }

    mp=v[1];k=1;num=1;
    for(i=2;i<=n;i++)
    if(v[i]>mp){mp=v[i];num=i;k=1;}
        else if(v[i]==mp)k++;

    mn=v[1];k2=1;num2=1;
    for(i=2;i<=n;i++)
    if(v[i]<mn){mn=v[i];num2=i;k2=1;}
        else if(v[i]==mn)k2++;



    if(-mn==mp)fout<<0;
    else
        if(-mn>mp)
            if(k2==1)fout<<num2;
                else fout<<0;
         else
            if(k==1)fout<<num;
                else fout<<0;


}