Pagini recente » Cod sursa (job #1409168) | Cod sursa (job #2086960) | Cod sursa (job #744234) | Cod sursa (job #911619) | Cod sursa (job #1657890)
#include <fstream>
#include <vector>
#include <cmath>
#define nmax 1025
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
struct bal_ {
int value;
bool not_;
} v[nmax];
int main()
{
int n, m, t;
fin >> n >> m;
for (int i = 1; i <= m; ++i) {
int x, y;
fin >> x;
vector < int > v1, v2;
for (int j = 1; j <= x; ++j) {
int k;
fin >> k;
v1.push_back(k);
}
for (int j = 1; j <= x; ++j) {
int k;
fin >> k;
v2.push_back(k);
}
fin >> y;
if (y == 0) {
for (int u = 0; u <= v1.size() - 1; ++u)
v[v1[u]].not_ = true;
for (int u = 0; u <= v2.size() - 1; ++u)
v[v2[u]].not_ = true;
}
if (y == 1) {
for (int u = 0; u <= v1.size() - 1; ++u)
++v[v1[u]].value;
for (int u = 0; u <= v2.size() - 1; ++u)
--v[v2[u]].value;
}
if (y == 2) {
for (int u = 0; u <= v1.size() - 1; ++u)
--v[v1[u]].value;
for (int u = 0; u <= v2.size() - 1; ++u)
++v[v2[u]].value;
}
}
bool is = false;
int mx = 0, j;
for (int i = 1; i <= n; ++i) {
if (v[i].not_)
continue;
int now = abs(v[i].value);
if (now == mx and mx == 0)
t = i;
if (now == mx and mx != 0) {
is = true;
}
else if (mx < now) {
is = false;
mx = now;
j = i;
}
}
if (is)
fout << 0;
else {
if (mx != 0)
fout << j;
else
fout << t;
}
return 0;
}