生活随笔
收集整理的这篇文章主要介绍了
HDU - Dogs' Candies
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目链接
题意
狗吃糖,每个糖有酸味和甜味的等级,没条狗喜欢酸甜的程度不一样,输入三个数t、x、y,t == 1表示把糖放入盒子,t == -1表示糖被吃了,t == 0表示查询,输入这条狗能吃的最大值。
AC
#include <bits/stdc++.h>
#include <iostream>
#include <stdio.h>
#include <vector>
#include <map>
#include <string.h>
#define mem(a, b) memset(a, b, sizeof(a))
#define ll long long
#include <cmath>
#define N 100005
#define P pair<int,int>
#define mk(a, b) make_pair(a, b)
int inf =
0x3f3f3f3f;
using namespace std;
int main(){
int n;
while (
cin >> n, n) {
vector<pair<ll, ll>> v;ll t, a, b;
for (
int z =
0; z < n; ++z) {
cin >> t >> a >> b;
if (t ==
1) {v.push_back(mk(a, b));}
else if(t ==
0) {ll max_ = -
1e18;
for (
int i =
0; i <
int(v.size()); ++i){ll sum = a * v[i].first + b * v[i].second;max_ = max(max_, sum);}
cout << max_ << endl;}
else if (t == -
1) {v.erase(find(v.begin(), v.end(), make_pair(a, b)));}}v.clear();}
return 0;
}
总结
以上是生活随笔为你收集整理的HDU - Dogs' Candies的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。