Cod sursa(job #2929109)

Utilizator EasyTnsEasyTns EasyTns Data 24 octombrie 2022 18:23:26
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#include<algorithm>
#include<vector>
#include<cstring>
#include<cmath>
//#include<iostream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
int a[1002];
int cautare(long long int n,int val,int n1)
{
long long    int i,step,s=0;
    for(step=1;step<=n;step<<=1);
    for(i=0;step;step>>=1)
    {


        s=0;
        for(int j=1;j<=n1;j++)
            s=s+(i+step)/a[j];
        if(i+step<=n&&s<=val)
            i+=step;

    }
    if(s<val)
        return i+1;
    return i;
}
int main() {
 int n,p;
 cin>>n>>p;
 for(int i=1;i<=n;i++)
 {
    cin>>a[i];
 }
int s=0;
 for(int i=1;i<=n;i++)
 s+=a[i];
cout<<cautare(p*a[1],s, n);
}