AtCoder Beginner Contest 037 に参加しました。
結果
解答
A
を出力。
#include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; cout << c/min(a,b) << endl; return 0; }
B
愚直にシミュレーション。
#include <iostream> #include <vector> using namespace std; int main() { int n, q, l, r, t; cin >> n >> q; vector<int> a(n,0); for (; q > 0; --q) { cin >> l >> r >> t; for (int i = l-1; i < r; ++i) a[i] = t; } for (auto&& x : a) cout << x << endl; return 0; }
C
普通に計算する。(尺取り法)
#include <iostream> #include <vector> using namespace std; int main() { int n,k; cin >> n >> k; vector<int> a; for (int i = 0; i < n; ++i) { int x; cin >> x; a.push_back(x); } long long int s = 0; for (int i = 0; i < k; ++i) s += a[i]; long long int S = s; for (int i = 1; i <= n - k; ++i) S += (s += -a[i-1] + a[i+k-1]); cout << S << endl; return 0; }
以下はコンテスト後に AC。
D
単純なメモ化再帰だったんだなぁ。(メモするときの mod を忘れて 2 WA してしまった)