Cod sursa(job #18118)

Utilizator slayer4uVictor Popescu slayer4u Data 18 februarie 2007 09:40:20
Problema Tricouri Scor 20
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasa a 9-a si gimnaziu Marime 0.52 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
long x[300001],n,m,i,j,sum,p,k,o,maxim;
int main()
{
	freopen ("tricouri.in","rt",stdin);
	freopen ("tricouri.out","wt",stdout);

	scanf("%ld %ld",&n,&m);

	for (i=1;i<=n;i++)
		scanf("%ld",&x[i]);

	sort(x,x+n);

	for (o=1;o<=m;o++)
	{
		scanf("%ld %ld",&k,&p);
		maxim=-1;
		for (i=n;i>=k;i--)
		{
			sum=0;
			for (j=i;j>=i-k+1;j--)
				sum+=x[j];

			maxim=(sum%p==0)&&(sum>maxim)?sum:maxim;
		}

		printf("%ld\n",maxim);
	}
	return 0;
}