Submission #1948130
Source Code Expand
//in the name of god #include <bits/stdc++.h> using namespace std; #define MAX_N (int)2e5+20 #define INF 2e9+20 #define pb push_back #define F first #define S second typedef long long LL; #define int LL typedef pair<int,int> pii; const int delta=(int)1e9+7; int n,l,r=(1<<30)-1,a,b[MAX_N],h,mx,m; bool can(int x){ if(x==0) return 0; int y=0; for(int i=0;i<n;++i){ if(b[i]<=mx) break; y+=b[i]; --x; if(x==0) return y>=h; } y+=x*mx; return y>=h; } main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin>>n>>h; for(int i=0;i<n;++i){ cin>>a>>b[i]; mx=max(a,mx); } sort(b,b+n); reverse(b,b+n); while(l<r){ m=(l+r)>>1; if(can(m)) r=m; else l=m+1; } cout<<l; return cout<<endl,0; }
Submission Info
Submission Time | |
---|---|
Task | D - Katana Thrower |
User | muht |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 750 Byte |
Status | AC |
Exec Time | 23 ms |
Memory | 1024 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03, a04 |
All | a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 1 ms | 256 KB |
a02 | AC | 1 ms | 256 KB |
a03 | AC | 1 ms | 256 KB |
a04 | AC | 1 ms | 256 KB |
b05 | AC | 1 ms | 256 KB |
b06 | AC | 23 ms | 1024 KB |
b07 | AC | 1 ms | 256 KB |
b08 | AC | 22 ms | 1024 KB |
b09 | AC | 1 ms | 256 KB |
b10 | AC | 1 ms | 256 KB |
b11 | AC | 1 ms | 256 KB |
b12 | AC | 1 ms | 256 KB |
b13 | AC | 16 ms | 1024 KB |
b14 | AC | 15 ms | 1024 KB |
b15 | AC | 13 ms | 1024 KB |
b16 | AC | 13 ms | 1024 KB |
b17 | AC | 21 ms | 1024 KB |
b18 | AC | 19 ms | 1024 KB |
b19 | AC | 18 ms | 1024 KB |
b20 | AC | 19 ms | 1024 KB |
b21 | AC | 23 ms | 1024 KB |
b22 | AC | 22 ms | 1024 KB |
b23 | AC | 1 ms | 256 KB |
b24 | AC | 2 ms | 256 KB |