Mai intai trebuie sa te autentifici.
Cod sursa(job #344105)
Utilizator | Data | 28 august 2009 14:29:34 | |
---|---|---|---|
Problema | Secventa 3 | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.12 kb |
#include <cstdio>
#include <cstring>
#define file_in "secv3.in"
#define file_out "secv3.out"
#define Nmax 30110
int n,l,u;
double suma1,suma2;
double c[Nmax],t[Nmax];
char s[100100];
int main()
{
int i,j,nr;
int x;
freopen(file_in,"r",stdin);
scanf("%d %d %d\n", &n,&l,&u);
/*for (i=1;i<=n;++i)
scanf("%lf", &c[i]);
for (i=1;i<=n;++i)
scanf("%lf", &t[i]);
*/
gets(s);
nr=0;
i=0;
while(i<strlen(s))
{
x=0;
while(s[i]>='0' && s[i]<='9')
{
x=x*10+s[i]-'0';
i++;
}
i++;
c[++nr]=(double)x;
}
gets(s);
i=0;
nr=0;
while(i<strlen(s))
{
x=0;
while(s[i]>='0' && s[i]<='9')
{
x=x*10+s[i]-'0';
i++;
}
i++;
t[++nr]=(double)x;
}
fclose(stdin);
double max=0.0;
for (i=1;i<=n;++i)
{
suma1=c[i];
suma2=t[i];
nr=1;
if (nr>=l && nr<=u && suma1/suma2>max)
max=suma1/suma2;
while(nr<=u)
{
nr++;
suma1+=c[nr];
suma2+=t[nr];
if (suma1/suma2>max)
max=suma1/suma2;
}
}
freopen(file_out,"w",stdout);
printf("%.2lf", max);
fclose(stdout);
return 0;
}