Cod sursa(job #1267339)

Utilizator otnielMercea Otniel otniel Data 19 noiembrie 2014 20:02:26
Problema Balanta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 kb
#include<iostream>
using namespace std;
#include<stdio.h>
#include<stdlib.h>
FILE *f,*g;
int n,m,i,k,j,a[1026],b[1026],t,maxim,repetari,minim=1027,indice,indice2,repetari2;
int main()
{
    f=fopen("balanta.in","r");
    g=fopen("balanta.out","w");
    fscanf(f,"%d%d",&n,&m);
    for(j=1;j<=m;j++)
    {
        fscanf(f,"%d",&k);
        for(i=1;i<=2*k;i++)
            fscanf(f,"%d",&b[i]);
        fscanf(f,"%d",&t);
        if(t==1)
        {
            for(i=1;i<=k;i++)
                a[b[i]]++;
                for(i=k+1;i<=2*k;i++)
                    a[b[i]]--;
        }
        else
            if(t==2)
        {
            for(i=1;i<=k;i++)
                a[b[i]]--;
            for(i=k+1;i<=2*k;i++)
                a[b[i]]++;
        }
    }
    for(i=1;i<=n;i++)
        {if(a[i]>maxim)
        {maxim=a[i];
        indice=i;}
        if(a[i]<minim)
            {minim=a[i];
            indice2=i;}
        }
        for(i=1;i<=n;i++)
            if(a[i]==maxim)
            repetari++;
        else
            if(a[i]==minim)
            repetari2++;
        if(abs(minim)==abs(maxim))
        fprintf(g,"0");
     if(repetari==1&&repetari2>1)
        fprintf(g,"%d",&indice);
     else
        if(repetari2==1&&repetari>1)
        fprintf(g,"%d",&indice2);
}