C - Minimum Glutton
排序加贪心
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
int n;
std::cin>>n;
ll x, y;
std::cin>>x>>y;
std::vector<int> a(n), b(n);
for (int i = 0; i<n; i++)
{
std::cin>>a[i];
}
for (int i = 0; i<n; i++)
{
std::cin>>b[i];
}
std::sort(a.rbegin(), a.rend());
std::sort(b.rbegin(), b.rend());
int ans = n;
ll sum = 0;
for (int i = 0; i<n; i++)
{
sum += a[i];
if (sum>x)
{
ans = std::min(ans, i + 1);
break;
}
}
sum = 0;
for (int i = 0; i<n; i++)
{
sum += b[i];
if (sum>y)
{
ans = std::min(ans, i + 1);
break;
}
}
std::cout<<ans<<"\n";
return 0;
}
D - K-th Nearest
二分到b 的距离
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(0);
int n, q;
std::cin>>n>>q;
std::vector<int> a(n);
for (int i = 0; i < n; i++)
{
std::cin>>a[i];
}
std::sort(a.begin(), a.end());
while (q--)
{
int b, k;
数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。