Pagini recente » Cod sursa (job #2342956) | Cod sursa (job #973129) | Cod sursa (job #3207740) | Cod sursa (job #1885740) | Cod sursa (job #254296)
Cod sursa(job #254296)
#include <stdio.h>
#include <math.h>
long long n, m, x, y, sumcur, min, poz, a[5010], v[5010], i, j;
int main() {
freopen("cuburi2.in", "r", stdin);
freopen("cuburi2.out", "w", stdout);
scanf("%lld %lld", &n, &m);
for (i = 1; i <= n; ++i) {
scanf("%lld", &a[i]);
v[i] = v[i - 1] + a[i];
}
for (i = 1; i <= m; ++i) {
scanf("%lld %lld", &x, &y);
sumcur = 0;
for (j = x + 1; j <= y; ++j) {
sumcur += a[j] * (j - x);
}
min = sumcur;
poz = x;
for (j = x + 1; j <= y; ++j) {
sumcur -= a[j];
sumcur += (v[j - 1] - v[x - 1]);
sumcur -= v[y] - v[j];
if (sumcur < min) {
min = sumcur;
poz = j;
}
}
printf("%lld %lld\n", poz, min);
}
return 0;
}