Cod sursa(job #603961)

Utilizator mihai995mihai995 mihai995 Data 19 iulie 2011 15:47:03
Problema Balanta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <fstream>
using namespace std;

const int N=2005;
int v[N],a[N],b[N],n,m;

ifstream in("balanta.in");
ofstream out("balanta.out");

inline int abs(int x)
{
    return x > 0 ? x : -x;
}

void read(int v[])
{
    for (int i=1;i<=v[0];i++)
        in>>v[i];
}

void zero(int a[])
{
    for (int i=1;i<=a[0];i++)
        v[a[i]]=0;
}

void mark(int a[],int x)
{
    for (int i=1;i<=a[0];i++)
        v[a[i]]+=x;
}

int main()
{
    int i,M=1,k;
    in>>n>>m;
    while (m--)
    {
        in>>a[0];b[0]=a[0];
        read(a);read(b);
        in>>k;
        if (!k)
        {
            zero(a);
            zero(b);
        }
        if (k==1)
        {
            mark(a,1);
            mark(b,-1);
        }
        if (k==2)
        {
            mark(a,-1);
            mark(b,1);
        }
    }
    for (i=1;i<=n;i++)
    {
        v[i]=abs(v[i]);
        if (v[M]<v[i])
            M=i;
    }
    for (i=M+1;i<=n;i++)
        if (v[M]==v[i])
        {
            out<<"0\n";
            return 0;
        }
    out<<M<<"\n";
    return 0;
}