Pagini recente » Cod sursa (job #1481957) | Cod sursa (job #2189411) | Cod sursa (job #3246608) | Cod sursa (job #1196050) | Cod sursa (job #2149322)
#include <fstream>
using namespace std;
unsigned long long where[100003];
unsigned long long first[100003];
unsigned long long last[100003];
unsigned long long v[100003];
int main(int argc, char** argv) {
unsigned long long M, N, K;
unsigned long long qi, qj;
unsigned long long i, u;
ifstream f("distincte.in");
f >> N >> K >> M;
for (i = 1; i <= N; i++) {
f >> v[i];
u = v[i];
last[i] = u;
if (where[u] == 0) {
first[i] = u;
}
else {
last[where[u]] = 0;
}
where[u] = i;
}
for (i = 1; i <= N; i++) {
first[i] = first[i] + first[i - 1];
last[i] = last[i] + last[i - 1];
}
ofstream g("distincte.out");
for (i = 0; i < M; i++) {
f >> qi >> qj;
u = qi == qj ? v[qi] : first[qj] - last[qi-1];
//u = qi <= qj ? first[qj] - last[qi-1] : first[qi] - last[qj-1];
g << u % 666013 << "\n";
}
f.close();
g.close();
return 0;
}