
void solve(int cs){
int N;
cin >> N;
vector<pair<string,int>> a(N);
rep(i, 0, N-1){
cin >> a[i];
}
sort(all(a), [&](pair<string,int>&p1, pair<string,int>&p2){
if(p1.ff[0] == p2.ff[0]) return p1.ss < p2.ss;
return p1.ff[0] < p2.ff[0];
});
rep(i, 0, N-1){
cout << a[i].ff << " " << a[i].ss << endl;
}
}
flipkart -1

void solve(int cs){
int N, H;
cin >> N >> H;
vi a(N);
cin >> a;
auto check = [&](int k){
int hours = 0;
rep(i, 0, N-1){
hours += (a[i] + k - 1) / k;
}
return hours <= H;
};
int lo = 0;
int hi = INF;
int ans = -1;
while(lo <= hi){
int mid = (lo + hi) / 2;
if(check(mid)){
ans = mid;
hi = mid - 1;
}
else{
lo = mid + 1;
}
}
cout << ans << endl;
}
flipkart - 2
Another slot
1st question

2nd question

3rd question

4th question
