Cod sursa(job #501190)

Utilizator ooctavTuchila Octavian ooctav Data 14 noiembrie 2010 15:04:06
Problema Indep Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<cstdio>
#include<iostream>
using namespace std;

const int NMAX = 1005;
const int INF = 1000000000;

int T, N, maxim;
int a[NMAX], b[NMAX];
int c[NMAX][NMAX];

bool cmp(int a, int b)
{
	return a > b;
}

void citire()
{
	cin >> N;
	for(int i = 1 ; i <= N ; i++)
		scanf("%d", &a[i]);
	for(int i = 1 ; i <= N ; i++)
		scanf("%d", &b[i]);
	
	sort(a + 1, a + N + 1, cmp);
	sort(b + 1, b + N + 1, cmp);
}

int comp(int a, int b)
{
	if(a < b)
		return -200;
	if(a == b)
		return 0;
	return 200;
}

void calculeaza_c()
{	
	maxim = -INF;
	for(int k = 0 ; k < N ; k++)
	{
		int rez = 0;
		for(int i = 1 ; i <= N ; i++)
			rez += comp(a[(i + k) % N], b[i]);
		maxim = max(maxim, rez);
	}
}

void scrie()
{
	cout << maxim << endl;
}

void face_zero()
{
	for(int i = 1 ; i <= N ; i++)
		fill(c[i], c[i] + N + 1, 0);
}

int main()
{
	freopen("cai.in", "r", stdin);
	freopen("cai.out", "w", stdout);
	cin >> T;
	for(int i = 1 ; i <= T ; i++)
	{
		citire();
		calculeaza_c();
		scrie();
		face_zero();
	}
	return 0;
}