Pagini recente » Cod sursa (job #2829901) | Cod sursa (job #2941593) | Cod sursa (job #540937) | Cod sursa (job #36007) | Cod sursa (job #2039305)
#include <fstream>
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int n,ap[30001],v[30001],s1,s2,a[30001],b[30001],mi,ma,l,sma,sma2,sma3;
bool valid()
{
int i;
for(i=1; i<=n;i++)
{
ap[i]=0;
}
i=1;
while(v[i]!=0)
{
ap[v[i]]++;
if(ap[v[i]]==2)
{
return false;
}
i++;
}
if(i<mi+1)
{
return false;
}
return true;
}
int calcul()
{
int i=1;
int s1=0;
int s2=0;
while(v[i]!=0)
{
s1=s1+a[v[i]];
s2=s2+b[v[i]];
i++;
}
//g<<s1/s2<<"."<<s1%s2*10/s2<<s1%s2*10%s2*10/s2<<'\n';
if(s1/s2>sma)
{
sma=s1/s2;
sma2=s1%s2*10/s2;
sma3=s1%s2*10%s2*10/s2;
}
else if(s1/s2==sma)
{
if(s1%s2*10/s2>sma2)
{
sma2=s1%s2*10/s2;
sma3=s1%s2*10%s2*10/s2;
}
else if(s1%s2*10/s2==sma2)
{
sma3=max(sma3,s1%s2*10%s2*10/s2);
}
}
}
int permut()
{
v[1]++;
int i=1;
if(v[i]==n+1)
{
l++;
}
while(v[i]>n)
{
v[i]=l;
v[i+1]++;
i++;
}
if(i==ma+1)
{
return 0;
}
else if(valid())
{
calcul();
}
return permut();
}
int main()
{
f>>n>>mi>>ma;
for(int i=1; i<=n; i++)
{
f>>a[i];
}
for(int i=1; i<=n; i++)
{
f>>b[i];
}
l=0;
permut();
g<<sma<<"."<<sma2<<sma3<<'\n';
return 0;
}