Pagini recente » Cod sursa (job #541030) | Istoria paginii runda/oji-2014-11-12/clasament | Cod sursa (job #429503) | Cod sursa (job #1505497) | Cod sursa (job #462498)
Cod sursa(job #462498)
using namespace std;
/* 3 3 4
1 -2 -3 3 1 2 2 -1 3
2 1 3 -3 -1 2 3 -1 2 -2 1 -3
*/
#include <cstdio>
#include <vector>
#include <algorithm>
#include <fstream>
int n[2], x;
int a[2][5005];
int v[5005];
int comp(int v1[], int v2[], int n, int h){
int i=1;
if ( n != h ) return 1;
while(v1[i] == v2[i] && i<=n) i++;
if(i == n+1) return 0;
if(v1[i] < v2[i] ) return -1;
return 1;
}
int main()
{
int i, j, k, t, l = 0, l1 = 0;
ifstream f("amlei.in");
ofstream g("amlei.out");
while ( f >> x >> n[0] >> n[1] )
{
//g << x << " " << n[0] << " " << n[1] << "\n";
l = l1 = 0, memset(a[0], 0, sizeof(a[0])), memset(a[1], 0, sizeof(a[1]));//a[0].clear(), a[1].clear();
for (k = 0; k < 2; ++k)
{
if ( k == 1 ) l1 = l, l = 0;
for (i = 0; i < n[k]; ++i)
{
memset(v,0,sizeof(v));//v.clear();
for (j = 0; j < x; ++j)
{
f >> v[j];//scanf("%d", &v[j]);
//v.push_back(t);
}
//for (int i = 0; i < x; ++i) printf("%d ", v[i]);printf("\n");
sort(v, v + x);
for (int i = 0; i < x; ++i) a[k][l++] = v[i];
//a[k].push_back(v);
}
sort(a[k], a[k] + l);
int aux = unique(a[k], a[k] + l ) - a[k], aux1 = l;
for (int i = aux; i < aux1; ++i, --l) a[k][i] = 0;
for (int i = 0; i < l ; ++i) printf("%d ", a[k][i]);printf("\n");
//a[k].erase(unique(a[k].begin(), a[k].end()), a[k].end());
}
if ( !comp(a[0], a[1], l , l1 )) g << "DA\n";
else g << "NU\n";//printf("%s\n", comp(a[0], a[1], l, l1) ? "DA" : "NU");
}
return 0;
}