Problem link: https://acm.timus.ru/problem.aspx?space=1&num=1522
In this problem all you have to do is to come up with clever sorting comparator.
This one is fine:
Explanation/Idea
code
# | User | Rating |
---|---|---|
1 | jiangly | 3898 |
2 | tourist | 3840 |
3 | orzdevinwang | 3706 |
4 | ksun48 | 3691 |
5 | jqdai0815 | 3682 |
6 | ecnerwala | 3525 |
7 | gamegame | 3477 |
8 | Benq | 3468 |
9 | Ormlis | 3381 |
10 | maroonrk | 3379 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | -is-this-fft- | 165 |
3 | Dominater069 | 160 |
4 | atcoder_official | 159 |
4 | Um_nik | 159 |
6 | djm03178 | 156 |
7 | adamant | 153 |
8 | luogu_official | 149 |
8 | awoo | 149 |
10 | TheScrasse | 146 |
[Timus 1522] Help to prove solution.
Problem link: https://acm.timus.ru/problem.aspx?space=1&num=1522
In this problem all you have to do is to come up with clever sorting comparator.
This one is fine:
separate triplets with $$$a_i \le c_i$$$ from $$$a_i \gt c_i$$$
int sign(int x) { return x < 0 ? -1 : x > 0; }
struct info_t {
int a, b, c, id;
int get() const {
if (a <= c) {
return (a + b);
} else {
return -(b + c);
}
}
bool operator <(const info_t &y) const {
int xg = this->get(), yg = y.get();
if (sgn(xg) != sgn(yg)) {
return sgn(xg) > sgn(yg);
} else {
return xg < yg;
}
}
};
Rev. | Lang. | By | When | Δ | Comment | |
---|---|---|---|---|---|---|
en18 |
![]() |
sidereal | 2020-02-18 14:45:31 | 206 | ||
en17 |
![]() |
sidereal | 2020-02-17 20:55:53 | 0 | (published) | |
en16 |
![]() |
sidereal | 2020-02-17 20:05:35 | 8 | Tiny change: ' \lt c_i$ would hold, then t' -> ' \lt c_i$ held, then t' | |
en15 |
![]() |
sidereal | 2020-02-17 19:59:13 | 621 | ||
en14 |
![]() |
sidereal | 2020-02-17 19:52:49 | 889 | ||
en13 |
![]() |
sidereal | 2020-02-17 19:34:59 | 247 | ||
en12 |
![]() |
sidereal | 2020-02-17 19:33:49 | 227 | ||
en11 |
![]() |
sidereal | 2020-02-17 19:31:25 | 110 | ||
en10 |
![]() |
sidereal | 2020-02-17 19:29:36 | 17 | ||
en9 |
![]() |
sidereal | 2020-02-17 19:29:03 | 87 | ||
en8 |
![]() |
sidereal | 2020-02-17 19:27:28 | 4 | ||
en7 |
![]() |
sidereal | 2020-02-17 19:27:17 | 2 | Tiny change: 'is fine:\n~~~~~\n\' -> 'is fine:\n\n~~~~~\n\' | |
en6 |
![]() |
sidereal | 2020-02-17 19:27:09 | 17 | ||
en5 |
![]() |
sidereal | 2020-02-17 19:26:44 | 2 | Tiny change: 'ne:\n~~~~~struct,202' -> 'ne:\n~~~~~\nstruct,202' | |
en4 |
![]() |
sidereal | 2020-02-17 19:26:38 | 15 | ||
en3 |
![]() |
sidereal | 2020-02-17 19:26:25 | 139 | ||
en2 |
![]() |
sidereal | 2020-02-17 19:25:19 | 506 | ||
en1 |
![]() |
sidereal | 2020-02-17 19:23:11 | 185 | Initial revision (saved to drafts) |
Name |
---|