Pagini recente » Cod sursa (job #2499315) | Cod sursa (job #564261) | Cod sursa (job #1221725) | Cod sursa (job #2290170) | Cod sursa (job #408346)
Cod sursa(job #408346)
#include<stdio.h>
int min,n,i,j,v[1002][2],a[1002][2];
void secv();
int main()
{
freopen("minim.in","r",stdin);
freopen("minim.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i][0]);
v[i][1]=i;
}
secv();
return 0;
}
void secv()
{
while(n)
{
min=12000;
for(i=1;i<=n;i++)
{
if(v[i][0]+a[i-1][0]<v[i][0])
{
a[i][0]=v[i][0]+a[i-1][0];
a[i][1]=a[i-1][1];
if(min>a[i][0])
{
min=a[i][0];
j=i;
}
if(min==a[i][0]&&j-a[j][1]>i-a[i][1])
j=i;
}
else
{
a[i][0]=v[i][0];
a[i][1]=i;
if(min>a[i][0])
{
min=a[i][0];
j=i;
}
if(min==a[i][0]&&j-a[j][1]>i-a[i][1])
j=i;
}
}
printf("%d %d %d\n",a[j][0],v[a[j][1]][1],v[j][1]);
for(i=j+1;i<=n;i++)
{
v[i-j-1+a[j][1]][0]=v[i][0];
v[i-j-1+a[j][1]][1]=v[i][1];
}
n-=(j+1-a[j][1]);
}
}