自己综合了一些大佬的代码,做个笔记。
其实就是复习一下。。。
整理STL偷懒,现在就遇到了。。。
// pair
#include <bits/stdc++.h>
using namespace std;
// 关联式容器
// 创建
pair <string, double> pair1;
pair <string, string> pair2("调用第 2 种","构造函数");
pair <string, string> pair3(pair2);
pair <string, string> pair4(make_pair("调用移动", "构造函数"));
pair <string, string> pair5(string("调用第 5 种"), string("构造函数"));
// 属性值
p.first;
p.second;
// 运算符
<,<=,>,>=,==,!=;
//函数
sort(); // 默认对first升序,当first相同时对second升序
swap(); // 2个 pair 对象的键和值的类型要相同
125题
125题题解
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
pair<int, int> a[n];
int w, s;
for (int i = 0; i < n; i++)
{
cin >> w >> s;
a[i].first = w + s;
a[i].second = s;
}
sort(a, a + n); // pair 默认对first升序,当first相同时对second升序(完美符合题意)
long long res = -1e18, sum = 0;
for (int i = 0; i < n; i++)
{
sum -= a[i].second; //减去当前牛的强壮程度
res = max(res, sum); //选取最小危险值
sum += a[i].first; //加上当前牛的重量和强壮程度,即sum变为重量之和
}
cout << res;
system("pause");
return 0;
}
参考资料
https://www.acwing.com/solution/content/845/
http://c.biancheng.net/view/7169.html
https://blog.csdn.net/sevenjoin/article/details/81937695
125题链接
https://www.acwing.com/problem/content/description/127/
你讲pair的那个代码连头文件都没包含。。。还是说iostream里有pair?(理论上不可能啊
忘改了