Pagini recente » Cod sursa (job #2494394) | Cod sursa (job #2840400) | Cod sursa (job #2821320) | Cod sursa (job #1328677) | Cod sursa (job #2159002)
#include <bits/stdc++.h>
#define nmax 1030
using namespace std;
ifstream fin ("balanta.in");
ofstream fout ("balanta.out");
int A[nmax], B[nmax], greu[nmax], usor[nmax], n, m, k, x, r, maxim, ans;
int main()
{
ios::sync_with_stdio(false);
fin.tie(0); fout.tie(0);
maxim = -1000;
fin>>n>>m;
while ( m-- )
{
memset(A, 0, sizeof(A));
memset(B, 0, sizeof(B));
fin>>k;
for ( int i = 1; i <= k; ++i )
{
fin>>x;
A[x] = 1;
}
for ( int i = 1; i <= k; ++i )
{
fin>>x;
B[x] = 1;
}
fin>>r;
if ( r == 0 )
for ( int i = 1; i <= n; ++i )
if ( A[i] || B[i] )
usor[i] = greu[i] = 0;
if ( r == 1 )
for ( int i = 1; i <= n; ++i )
{
if ( A[i] )
{
greu[i]++;
usor[i] = 0;
}
if ( B[i] )
{
usor[i]++;
greu[i] = 0;
}
}
if ( r == 2 )
for ( int i = 1; i <= n; ++i )
{
if ( A[i] )
{
usor[i]++;
greu[i] = 0;
}
if ( B[i] )
{
greu[i]++;
usor[i] = 0;
}
}
}
for ( int i = 1; i <= n; ++i )
{
if ( greu[i] > maxim )
{
maxim = greu[i];
ans = i;
}
else
if ( greu[i] == maxim )
ans = 0;
if ( usor[i] > maxim )
{
maxim = usor[i];
ans = i;
}
else
if ( usor[i] == maxim )
ans = 0;
}
fout<<ans<<'\n';
}