From fe1846a32fe057f11e1359c467cce4ff1488659d Mon Sep 17 00:00:00 2001 From: Taichi Yamakawa Date: Sat, 9 Jan 2021 22:48:41 +0900 Subject: [PATCH 1/5] atcoder/abc001A --- atcoder/abc001/A/main.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 atcoder/abc001/A/main.cpp diff --git a/atcoder/abc001/A/main.cpp b/atcoder/abc001/A/main.cpp new file mode 100644 index 00000000..38797943 --- /dev/null +++ b/atcoder/abc001/A/main.cpp @@ -0,0 +1,15 @@ +#include + +using namespace std; +using ll = long long; + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(0); cout.tie(0); + + int H1, H2; + cin >> H1 >> H2; + cout << (H1 - H2) << endl; + + return 0; +} \ No newline at end of file From 4faa63131b366e5f48680ac32ae09755ef438448 Mon Sep 17 00:00:00 2001 From: Taichi Yamakawa Date: Sat, 9 Jan 2021 22:48:53 +0900 Subject: [PATCH 2/5] atcoder/abc001B --- atcoder/abc001/B/main.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 atcoder/abc001/B/main.cpp diff --git a/atcoder/abc001/B/main.cpp b/atcoder/abc001/B/main.cpp new file mode 100644 index 00000000..487bd22c --- /dev/null +++ b/atcoder/abc001/B/main.cpp @@ -0,0 +1,28 @@ +#include + +using namespace std; +using ll = long long; + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(0); cout.tie(0); + + int m; + cin >> m; + if (m < 100) { + cout << "00" << endl; + } else if (m <= 5000) { + int vv = m / 100; + cout << setw(2) << setfill('0') << vv << endl; + } else if (m <= 30000) { + int vv = m / 1000 + 50; + cout << vv << endl; + } else if (m <= 70000) { + int vv = (m / 1000 - 30) / 5 + 80; + cout << vv << endl; + } else { + cout << 89 << endl; + } + + return 0; +} \ No newline at end of file From 3595dfc970c545d409a2fc7c0a1080c7f4e08ef2 Mon Sep 17 00:00:00 2001 From: Taichi Yamakawa Date: Sat, 9 Jan 2021 22:48:58 +0900 Subject: [PATCH 3/5] atcoder/abc001C --- atcoder/abc001/C/main.cpp | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 atcoder/abc001/C/main.cpp diff --git a/atcoder/abc001/C/main.cpp b/atcoder/abc001/C/main.cpp new file mode 100644 index 00000000..a1bd195f --- /dev/null +++ b/atcoder/abc001/C/main.cpp @@ -0,0 +1,44 @@ +#include + +using namespace std; +using ll = long long; + +int power(int dis) { + double v = round(double(dis * 10) / 60); + vector ps = { 2, 15, 33, 54, 79, 107, 138, 171, 207, 244, 284, 326 }; + for (int i = 0; i < 12; ++i) { + if (v <= ps[i]) return i; + } + return 12; +} + +string direction(int deg, int wp) { + if (wp == 0) return "C"; + if (deg <= 112 || deg >= 3488) return "N"; + vector ds = { 337, 562, 787, 1012, 1237, 1462, 1687, 1912, 2137, 2362, 2587, 2812, 3037, 3262, 3487 }; + vector ss = { "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW" }; + assert(ds.size() == ss.size()); + for (int i = 0; i < ds.size(); ++i) { + if (deg <= ds[i]) return ss[i]; + } + throw; +} + +vector solve(int deg, int dis) { + string ans; + int wp = power(dis); + string dir = direction(deg, wp); + return { dir, to_string(wp) }; +} + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(0); cout.tie(0); + + int deg, dis; + cin >> deg >> dis; + auto ans = solve(deg, dis); + cout << ans[0] << " " << ans[1] << endl; + + return 0; +} \ No newline at end of file From 765f6bf609517b9b1f69663b4e4ffbe093450974 Mon Sep 17 00:00:00 2001 From: Taichi Yamakawa Date: Sat, 9 Jan 2021 22:49:03 +0900 Subject: [PATCH 4/5] atcoder/abc001D --- atcoder/abc001/D/main.cpp | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 atcoder/abc001/D/main.cpp diff --git a/atcoder/abc001/D/main.cpp b/atcoder/abc001/D/main.cpp new file mode 100644 index 00000000..db1e1226 --- /dev/null +++ b/atcoder/abc001/D/main.cpp @@ -0,0 +1,63 @@ +#include + +using namespace std; +using ll = long long; + +int N; +vector> A; + +vector> solve() { + vector ts(24*60+2, 0); + + for (int i = 0; i < N; ++i) { + int s = A[i][0], e = A[i][1]; + if (s % 5 > 0) s = s - s % 5; + if (e % 5 > 0) e = e - e % 5 + 5; + int ss = (s / 100) * 60 + (s % 100); + int ee = (e / 100) * 60 + (e % 100); + ts[ss] += 1; + ts[ee] -= 1; + } + for (int i = 1; i < ts.size(); ++i) { + ts[i] += ts[i-1]; + } + + vector> ans; + int s = 0; + bool rain = false; + for (int t = 0; t < ts.size(); ++t) { + if (!rain && ts[t] > 0) { + s = t; + rain = true; + } + if (rain && ts[t] == 0) { + rain = false; + int ss = (s / 60) * 100 + (s % 60); + int ee = (t / 60) * 100 + (t % 60); + ans.push_back({ ss, ee }); + } + } + return ans; +} + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(0); cout.tie(0); + + cin >> N; + for (int i = 0; i < N; ++i) { + string se; + cin >> se; + string s = se.substr(0, 4); + string e = se.substr(5, 4); + A.push_back({ stoi(s), stoi(e) }); + } + + auto ans = solve(); + for (int i = 0; i < ans.size(); ++i) { + cout << setw(4) << setfill('0') << ans[i][0] + << "-" << setw(4) << setfill('0') << ans[i][1] << endl; + } + + return 0; +} \ No newline at end of file From 6e754bbde54a6d892e0a4f87caf76550105d3d14 Mon Sep 17 00:00:00 2001 From: Taichi Yamakawa Date: Sat, 9 Jan 2021 23:04:21 +0900 Subject: [PATCH 5/5] atcoder/abc001C (feedback from editorial) --- atcoder/abc001/C/main.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/atcoder/abc001/C/main.cpp b/atcoder/abc001/C/main.cpp index a1bd195f..1eca6780 100644 --- a/atcoder/abc001/C/main.cpp +++ b/atcoder/abc001/C/main.cpp @@ -4,30 +4,32 @@ using namespace std; using ll = long long; int power(int dis) { - double v = round(double(dis * 10) / 60); - vector ps = { 2, 15, 33, 54, 79, 107, 138, 171, 207, 244, 284, 326 }; + vector ps = { 24, 154, 334, 544, 794, 1074, 1384, 1714, 2074, 2444, 2844, 3264 }; + assert(ps.size() == 12); for (int i = 0; i < 12; ++i) { - if (v <= ps[i]) return i; + if (dis * 100 <= ps[i] * 60) return i; } return 12; } -string direction(int deg, int wp) { - if (wp == 0) return "C"; - if (deg <= 112 || deg >= 3488) return "N"; - vector ds = { 337, 562, 787, 1012, 1237, 1462, 1687, 1912, 2137, 2362, 2587, 2812, 3037, 3262, 3487 }; - vector ss = { "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW" }; +string direction(int deg) { + vector ds = { + 112, 337, 562, 787, 1012, 1237, 1462, 1687, 1912, 2137, 2362, 2587, 2812, 3037, 3262, 3487 + }; + vector ss = { + "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW" + }; assert(ds.size() == ss.size()); for (int i = 0; i < ds.size(); ++i) { if (deg <= ds[i]) return ss[i]; } - throw; + return "N"; } vector solve(int deg, int dis) { string ans; int wp = power(dis); - string dir = direction(deg, wp); + string dir = wp > 0 ? direction(deg) : "C"; return { dir, to_string(wp) }; }