Problem B:http://codeforces.com/contest/616/problem/B

B. Dinner with Emma

题意:一对夫妻要去餐厅吃晚饭,Emma 想去最豪华(贵)的地方吃,Jack想去最朴素(便宜)的地方吃,于是两人用这个方法决定去哪吃:每个街道和大道的交叉口上有一个餐厅,给出n街道m大道,所以每一条街道上有m个餐厅,由Emma选街道,由Jack选餐馆,(反正Jack会选择Emma选的街道中最便宜的一家)输出最终决定去的餐馆价格。

思路:既然Jack要选最小的但Emma想选大的,取决于Emma,所以找出每组中最小的,从最小的里面找出最大的。

#include<bits/stdc++.h>
using namespace std;
#define maxn 10005
int main(){
int t,i;
cin >> t;
while(t--){
int n,s = ,hzx = ;
int a, b, c, d, e;
int m[maxn], mm[maxn];
memset(m, , sizeof(m));//先初始化数组
memset(mm, , sizeof(mm));
cin >> n;
for(i = ;i < n; i ++){
scanf("%d %d:%d %d:%d",&a,&b,&c,&d,&e);
m[b * + c] += a;
mm[d * + e] += a;
}
for(i = ;i < *;i ++){
s += m[i];
s -= mm[i];
hzx = max(hzx,s);//这里是关键
}
cout << hzx << endl;
}
return ;
}
04-18 09:16