Pagini recente » Monitorul de evaluare | Alee | Monitorul de evaluare | Cod sursa (job #3362875) | Cod sursa (job #3363279)
#include <fstream>
using namespace std;
long long a[100000];
long long s[100000];
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n = 0;
fin >> n;
a[0] = 0;
for (int i = 1; i <= n; ++i) {
fin >> a[i];
}
s[0] = a[0];
for (int i = 1; i <= n; ++i) {
s[i] = s[i - 1] + a[i];
}
int st = 0;
int dr = 0;
for (int p = a[0]; p <= n; p++) {
if (a[p] + a[p + 1] > 0) {
a[p] = st;
break;
}
}
for (int p = st; p <= n; p++) {
if (a[p] + a[p + 1] < 0) {
a[p] = dr;
break;
}
}
int cnt_secv = 0;
for ( int p = st; p <= dr; p++) {
cnt_secv++;
}
for (int k = 1; k <= cnt_secv; ++k) {
int i, j;
fin >> i >> j;
fout << s[j] - s[i - 1];
}
return 0;
}