Pagini recente » Cod sursa (job #304627) | Cod sursa (job #1535593) | Cod sursa (job #2504466) | Cod sursa (job #2070174) | Cod sursa (job #37880)
Cod sursa(job #37880)
#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;
int A[nmax], 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("%d", &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;
}