Pagini recente » Cod sursa (job #100286) | Cod sursa (job #2406309) | Cod sursa (job #2965014) | Cod sursa (job #2392865) | Cod sursa (job #254703)
Cod sursa(job #254703)
#include <cstdio>
#define FIN "cuburi2.in"
#define FOUT "cuburi2.out"
#define N 250050
#define INF 1000000010
int n,m,v[N],sum[N];
void read()
{
int i,x,y,j,min,k;
long long s1,s2;
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d%d", &n, &m);
for (i = 1; i <= n; ++i)
{
scanf("%d", &v[i]);
sum[i] = sum[i - 1] + v[i];
}
for (i = 1; i <=m; ++i)
{
scanf("%d%d",&x,&y);
min = INF;
s1 = 0; s2 = 0;
for (j = x; j < y; ++j)
s1 += sum[y] - sum[j];
for (j = x; j <= y; ++j)
{
if (s2 + s1 < min)
{
min = s2 + s1;
k = j;
}
s1 -= sum[y] - sum[j];
s2 += sum[j];
}
printf("%d %d\n", k,min);
}
}
int main()
{
read();
//solve();
//write();
}