题目:http://codeforces.com/problemset/problem/10/E
源代码:
#include <stdio.h>
int n;
int data[500];
int ans;
void solve()
{
int c,t,r,temp;
for(int i=2;i<=n;i++)
for(int j=i;j<=n;j++)
{
r=data[i-1]; c=0; t=0;
for(int k=i;k<=j;k++)
{
c+=r/data[k];
r%=data[k];
}
if(r!=0)
{
r=data[i-1]-r+data[j];
c=c+1;
}
else
r=data[i-1];
temp=r;
for(int k=1;k<=n;++k)
{
t+=r/data[k];
r%=data[k];
}
if(c<t&&(ans==-1||temp<ans)) ans=temp;
}
}
int main()
{
freopen("D:\\a.txt","r",stdin);
scanf("%d", &n);
for(int i=1;i<=n;++i)
scanf("%d", &data[i]);
ans=-1;
solve();
printf("%d\n", ans);
return 0;
}