Cod sursa(job #49194)

Utilizator amadaeusLucian Boca amadaeus Data 5 aprilie 2007 15:48:11
Problema Oite Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>
#include <algorithm>
#include <vector>

using namespace std;

#define NX 1025

struct ent {
	int val, x, y;
	ent( int a = 0, int b = 0, int c = 0 ) {
		val = a, x = b, y = c;
	}
};

struct cmp {
	bool operator() ( ent a, ent b ) {
		if( a.val == b.val ) {
			if( a.x == b.x )
				return a.y < b.y;
			else
				return a.x < b.x;
		}
		else
			return a.val < b.val;
	}
};

int N, L;
vector< ent > q;
int v[ NX ];

void cit() {
	int i;
	
	scanf( "%d%d", &N, &L );
	for( i = 1; i <= N; i++ )
		scanf( "%d", v+i );
}

void rez() {
	int i, j;

	for( i = 1; i < N; i++ )
		for ( j = i+1; j <= N; j++ )
			q.push_back( ent( v[i]+v[j], i, j ) );
	sort( q.begin(), q.end(), cmp() );
}


int main() {
	freopen( "oite.in", "r", stdin );
	freopen( "oite.out", "w", stdout );

	cit();
	rez();

	return 0;
}