Pagini recente » Cod sursa (job #3131059) | Cod sursa (job #1031994) | Cod sursa (job #2838642) | Cod sursa (job #1166230) | Cod sursa (job #37885)
Cod sursa(job #37885)
#include <stdio.h>
#define nmax 100005
int minim(int i, int j)
{
return i < j? i: j;
}
int maxim(int i, int j)
{
return i < j? i: j;
}
int N, M, i, ultim, K, x, y, j;
long suma;
long A[nmax];
int porneste[nmax], VC[nmax];
int main(void)
{
freopen("distincte.in", "r", stdin);
freopen("distincte.out", "w", stdout);
scanf("%d%d%d", &N, &K, &M);
for (i = 1; i <= N; ++i)
{
scanf("%ld", &A[i]);
if (A[i] != A[ultim])
A[++ultim] = A[i];
porneste[i] = ultim;
}
for (i = 1; i <= M; ++i)
{
scanf("%d%d", &x, &y);
for (suma = 0, j = porneste[x]; j <= porneste[y] && j <= ultim; ++j)
if (VC[A[j]] != i)
{
suma += A[j];
VC[A[j]] = i;
}
printf("%ld\n", suma);
}
return 0;
}