45105
56 94
38 17
45 46
94 65
42 77
4 31
71 51
49 31
82 9
11 62
33 30
50 19
52 61
32 8
<308494 bytes omitted>
用户输出
1349072953962
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#49466 | #1022. jwp的排队难题 | Accepted | 100 | 95 ms | 1424 K | C++ / 949 B | q3540555 | 2021-07-05 2:20:04 |
#include <map>
#include <ctime>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <string>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define spause() system("pause")
//#define scanf scanf_s
using namespace std;
typedef long long llong;
typedef unsigned long long ullong;
typedef long double llfloat;
typedef pair<int, int> prdd;
int n, tpa, tpb;
llong ans = 0, tot = 0;
vector<prdd> trs;
bool cmp(prdd a, prdd b) { return llfloat(a.second) / a.first < llfloat(b.second) / b.first; }
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d%d", &tpa, &tpb);
trs.push_back(prdd(tpa, tpb));
}
sort(trs.begin(), trs.end(), cmp);
for (unsigned i = 0; i < trs.size(); i++) {
tot += trs.at(i).second;
ans += trs.at(i).first * tot;
}
printf("%lld", ans);
// spause();
return 0;
}
45105
56 94
38 17
45 46
94 65
42 77
4 31
71 51
49 31
82 9
11 62
33 30
50 19
52 61
32 8
<308494 bytes omitted>
用户输出
1349072953962
系统信息
Exited with return code 0
6667
81 6
83 71
57 69
97 27
5 84
20 77
28 77
77 57
97 49
40 18
78 39
41 69
14 11
99 1
<45515 bytes omitted>
用户输出
29669490408
系统信息
Exited with return code 0
55457
60 47
63 7
81 14
91 88
2 83
4 35
80 77
55 46
97 57
65 10
56 14
15 43
88 3
19 62
<379227 bytes omitted>
用户输出
2046293880925
系统信息
Exited with return code 0
54839
31 85
77 24
87 83
9 18
35 74
88 40
59 14
47 63
50 31
17 40
1 23
71 10
43 69
24 1
<374961 bytes omitted>
用户输出
1999020249779
系统信息
Exited with return code 0