社区讨论
佬们,这是为什么???
P5019[NOIP 2018 提高组] 铺设道路参与者 3已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @lo1wirnj
- 此快照首次捕获于
- 2023/10/23 04:08 2 年前
- 此快照最后确认于
- 2023/11/03 04:36 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 2e6 + 10;
int n, m;
struct node {
int a, b;
}p[N];
bool cmp(node x, node y)
{
return x.a <= y.a;
}
int main()
{
scanf("%d %d", &n, &m);
if (n == 0)
{
cout << 0;
return 0;
}
for (int i = 1; i <= m; i ++ )
cin >> p[i].a >> p[i].b;
sort(p + 1, p + 1 + m, cmp);
long long ans = 0;
for (int i = 1; i <= m; i ++ )
{
if (n >= p[i].b)
{
ans += (long long)(p[i].a * p[i].b);
n -= p[i].b;
}
else
{
ans += (long long)(n * p[i].a);
break;
}
}
printf("%lld", ans);
return 0;
}
把cmp函数里的该成
CPPx.a < y.a
就对了,这是为什么
回复
共 8 条回复,欢迎继续交流。
正在加载回复...