Cod sursa(job #325889)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 22 iunie 2009 21:13:04
Problema Distincte Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#include <stdlib.h>
#define N 100010
int n,k,m;
int v[N];
struct question
{
	int a,b;
};
question nr[N];
void read()
{
	scanf("%d%d%d",&n,&k,&m);
	int i;
	for (i=1; i<=n; i++)
		scanf("%d",&v[i]);
	for (i=1; i<=m; i++)
		scanf("%d%d",&nr[i].a,&nr[i].b);
}
long long rezolva(int x)
{
	int din,spre,i;
	long long rez=0;
	char marc[N]={0};
	din=nr[x].a;
	spre=nr[x].b;
	for (i=din; i<=spre; i++)
	{
		if (marc[v[i]]==0)
		{
			rez=(long long)rez+v[i];
			marc[v[i]]=1;
		}
	}
	return rez;
}
void solve()
{
	int i;
	long long x;
	for (i=1; i<=m; i++)
	{
		x=rezolva(i);
		printf("%lld\n",x);
	}
}
int main()
{
	freopen("distincte.in","r",stdin);
	freopen("distincte.out","w",stdout);
	read();
	solve();
	return 0;
}