Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define ULL unsigned long long int
- using namespace std;
- int n,x,z,t;
- struct floare
- {
- int c,d;
- }a[100005];
- int solve()
- {
- int st=1,dr=t,tmax=0;
- while(st<=dr)
- {
- ULL flori=0;
- int mij=(st+dr)/2;
- for(int i=1;i<=n;++i)
- flori+=1ULL*a[i].c*min(z/mij,a[i].d/mij);
- if(flori>=1ULL*x)
- tmax=max(mij,tmax),st=mij+1;
- else
- dr=mij-1;
- }
- return tmax;
- }
- int main()
- {
- cin>>n>>x>>z;
- for(int i=1;i<=n;++i)
- cin>>a[i].c>>a[i].d,t=max(t,a[i].d);
- cout<<solve()<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement