5476. 平均成绩 - AcWing题库
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
void solve()
{
int a, b, c, d;
cin >> a >> b >> c;
d = a + b + c;
if (d > 180)cout << "YES";
else cout << "NO";
}
int main()
{
solve();
return 0;
}
5477. 套餐设计 - AcWing题库
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
const int N = 1e2 + 2;
map<int,int>mp;
int a[N];
int n, m;
int check(int x)
{
int tmp = 0;
for (auto k : mp)
{
tmp += k.second / x;
}
if (tmp >= n)return 1;
else return 0;
}
void solve()
{
cin >> n >> m;
for (int i = 1; i <= m; i++)
{
cin >> a[i];
mp[a[i]]++;
}
int l = 0, r = m / n;
int ans = -1;
while (l < r)
{
int mid = l + r+1 >> 1;
if (check(mid))l = mid;
else r = mid - 1;
}
ans = l;
cout << l << endl;
}
int main()
{
solve();
return 0;
}
5478. 分班 - AcWing题库
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int a[N];
int b[N];
void solve()
{
int n, k, l;
cin >> n >> k >> l;
for (int i = 1; i <= n * k; i++)
cin >> a[i];
sort(a + 1, a + 1 + n * k);
int r,rr;
for (int i = n * k; i >= 1; i--)
if (a[i] == a[1] + l)
{
r = i;
rr = i - n + 2;
break;
}
int cnt = 2;
for (int i = rr; i <= r; i++)
b[cnt++] = a[i];
cnt = 1;
b[cnt++] = a[1];
for (int i = 1; i <= n*k; i++)
{
if (i + k-1 < rr)b[cnt++] = a[i + k];
else break;
i += k-1;
rr++;
}
long long ans = 0;
if (a[n] > a[1] + l)
{
cout << 0;
return;
}
for (int i = 1; i <= n; i++)
ans += b[i];
cout << ans;
}
int main()
{
solve();
return 0;
}
感谢点赞收藏,不会的可以评论区留言