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
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#302 | #1022. jwp的排队难题 | Accepted | 100 | 70 ms | 1860 K | C++ / 845 B | lenijwp | 2019-06-24 18:09:30 |
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <queue>
#include <algorithm>
using namespace std;
const int maxn = 1e5 + 5;
typedef long long ll;
struct node {
ll a, b;
bool operator<(const node &tmp) const {
return tmp.a * b < a * tmp.b || (tmp.a * b == a * tmp.b && a < tmp.a);
}
} x[maxn];
int main() {
// freopen("1.in","r",stdin);
// 22freopen("1.out","w",stdout);100
int n;
while (~scanf("%d", &n)) {
for (int i = 1; i <= n; i++) {
scanf("%lld%lld", &x[i].a, &x[i].b);
}
sort(x + 1, x + 1 + n);
ll pre = 0, ans = 0;
for (int i = 1; i <= n; i++) {
pre = pre + x[i].b;
ans = ans + pre * x[i].a;
}
printf("%lld\n", ans);
}
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