接着剤の精進日記

競プロでの精進や研究に関係したことを書いていきます。

Codeforces

Codeforces Round #702 (Div. 3)

codeforces.com A. Dense Array $ 2 \times \min(a_i, a_{i+1}) \gt \max(a_i, a_{i+1}) $のとき、小さいほうから大きい方へ2倍ずつしていけばいいので2倍する必要のある回数の総和を求める 提出コード void solve(){ int n; cin >> n; vector<int> a(n); REP(i,n</int>…

Codeforces Round #690 (Div. 3)

codeforces.com A. Favorite Sequence 問題文に書いてあるとおりに前後前後…の順に出力 deque使えば楽だったね 提出コード void solve(){ int n; cin >> n; vector<ll> b(n); REP(i,n) cin >> b[i]; vector<int> ans; REP(i,n/2){ ans.emplace_back(b[i]); ans.emplac</int></ll>…

Codeforces Round #686 (Div. 3)

codeforces.com A. Special Permutation 偶数なら先頭から2個ずつペアにしてswapする 奇数の場合も同様にして最後の1要素だけ適当にswapさせる $ n, 1, 2, 3, ..., n-1 $で良かったね 提出コード void solve(){ int n; cin >> n; vector<int> a(n); iota(a.begin(</int>…

Educational Codeforces Round 97 (Rated for Div. 2)

codeforces.com A. Marketing Scheme x mod aを考えるとxがaよりも大きいとaはそのままになるので考えやすくなる $x \lt a$とすると$ \frac{a}{2} \leq $ x mod a は$ \frac{a}{2} \leq $ l mod a $ \leq $ r mod a $ \lt a$ を満たせばいい よって$ r \lt 2…

Codeforces Round #679 (Div. 2)

codeforces.com A. Finding Sasuke 2個ずつのペアを0にしていけばいい 提出コード void solve(){ int n; cin >> n; vector<int> a(n); REP(i,n) cin >> a[i]; vector<int> b(n); for(int i=0;i</int></int>

Codeforces Round #678 (Div. 2)

codeforces.com A. Reorder 総和がと一致していればいい 提出コード void solve(){ int n, m; cin >> n >> m; vector<int> a(n); REP(i,n) cin >> a[i]; if(accumulate(a.begin(), a.end(), 0) == m) cout << "YES" << endl; else cout << "NO" << endl; } B. Pri</int>…

Codeforces Round #678 (Div. 2)

codeforces.com A. Reorder 総和がと一致していればいい 提出コード void solve(){ int n, m; cin >> n >> m; vector<int> a(n); REP(i,n) cin >> a[i]; if(accumulate(a.begin(), a.end(), 0) == m) cout << "YES" << endl; else cout << "NO" << endl; } B. Pri</int>…

Codeforces Round #677 (Div. 3)

codeforces.com A. Boring Apartments いい方針思いつかなかったので文字列作って一致するまで足すようにした 提出コード void solve(){ string x; cin >> x; vector<string> S; for(char c='1';c<='9';c++){ string t = ""; t += c; S.emplace_back(t); t += c; S.e</string>…

Codeforces Round #674 (Div. 3)

codeforces.com A. Floor Number なら答えは1 そうでないなら 提出コード void solve(){ int n, x; cin >> n >> x; if(n <= 2) cout << 1 << endl; else cout << ((n - 2) + x - 1) / x + 1 << endl; } B. Symmetric Matrix まずが奇数の時答えは"NO" それ以…

Codeforces Round #672 (Div. 2)

codeforces.com A. Cubes Sorting 何もわからなかったので座圧BITで転倒数を求めた 提出コード void solve(){ ll n; cin >> n; vector<ll> a(n); map<ll, int> mp; REP(i,n){ cin >> a[i]; mp[a[i]] = 1; } int cnt = 1; for(auto [v, k] : mp){ mp[v] = cnt; cnt++; } BIT<ll></ll></ll,></ll>…

Codeforces Round #664 (Div. 2)

codeforces.com A. Boboniu Likes to Color Balls を使って回文を作るには全ての個数が偶数か、一つだけ奇数であればいい できる操作を考えると、2回操作をするとその偶奇が元の状態に戻ることがわかる したがって、操作を行わないもしくは、操作を1回やって…

Codeforces Round #653 (Div. 3)

codeforces.com A. Required Remainder kはxの倍数にyだけ足したものと考えていいので nを超えない範囲のxの倍数を求めてからyを足す 提出コード void solve(){ ll x, y, n; cin >> x >> y >> n; ll k = n / x * x; if(k + y <= n) cout << k + y << endl; e…

Educational Codeforces Round 90 (Rated for Div. 2)

codeforces.com A. Donut Shops 読解が辛い のとき1つ目のお店のほうが小さくなる個数は存在しない のとき2つ目のお店のほうが小さくなる個数は存在しない それ以外の時、1つ目のお店では1個買う時必ず小さくなり、2つ目のお店ではb個買う時必ず小さくなる …

Codeforces Round #645 (Div. 2)

codeforces.com A. Park Lighting を出力 提出コード void solve(){ int n, m; cin >> n >> m; cout << (n * m + 1) / 2 << endl; } B. Maria Breaks the Self-isolation ソートをし、小さい方からシミュレートをする 提出コード void solve(){ int n; cin >…

Codeforces Round #644 (Div. 3)

codeforces.com A. Minimal Square ならをそうでないならを正方形の辺として使う 提出コード void solve(){ int a, b; cin >> a >> b; if(a > b) swap(a, b); if(2 * a >= b) cout << 2 * a * 2 * a << endl; else cout << b * b << endl; } B. Honest Coach…

Codeforces Round #640 (Div. 4)

codeforces.com 緑以下Ratedのdiv4 全完出来たけど前半割と難しくない?後半はdiv3より流石に簡単だったけど(というかdiv3の後ろ難しすぎる) div4 pretest全完〜 pic.twitter.com/WCQ7opiD7W— ボンド@競プロ (@bond_cmprog) 2020年5月9日 A. Sum of Round …

Codeforces Round #637 (Div. 2)

codeforces.com A. Nastya and Rice 問題文 n個の穀物がある 穀物1個の重さはを満たす n個の穀物の重さの総和がを満たすことが可能かどうか判定せよ 解法 もしくは なら"NO" それ以外は"YES" 提出コード void solve(){ int n, a, b, c, d; cin >> n >> a >> …

Codeforces Round #636 (Div. 3)

codeforces.com A. Candies 問題文 n個のキャンディがある Vovaは1日目にx個、2日目に2x個、3日目に4x個…とキャンディを買いました この時を満たすxを出力せよ ただし、はを満たす 解法 左辺がなのでは最大でも30程度なので全探索すればいい 提出コード void…

Codeforces Round #635 (Div. 2)

codeforces.com A. Ichihime and Triangle 問題文 正の整数a, b, c, dが与えられる 次の条件を満たす正の整数x, y, zのうち、三角形となるような3つ組を出力せよ 解法 難しすぎる 三角不等式を考えるとb, c, cなどを出力すればいい 提出コード void solve(){…

Codeforces Round #634 (Div. 3)

codeforces.com A. Candies and Two Sisters 問題文 n個のキャンディをAliceとBettyで以下の条件を満たすように分ける 1. Aliceがキャンディをa個貰う 2. Bettyがキャンディをb個貰う 3. AliceはBettyよりも多くキャンディを貰う 4. すべてのキャンディを2人…

Codeforces Round #633 (Div. 2)

codeforces.com A. Filling Diamonds 問題文 正の整数nが与えられる 図の左側の図形を移動、回転させて右側の図に敷き詰めることを考える この時、その敷き詰め方の個数を数えよ 解法 難しくないですか・・・? 実は、どこかを縦に置くと残りは一意に定まる …

Codeforces Round #632 (Div. 2)

codeforces.com A. Little Artem 問題文 のボードがあり、各マスは白か黒の色で塗られている 隣接する白マスが一つでもある黒マスの個数をB 反対に、隣接する黒マスが一つでもある白マスの個数をWとする この時、を満たすボードの色の塗り方を1つ出力せよ 解…

Codeforces Round #630 (Div. 2)

codeforces.com A. Exercising Walk 問題文 0以上の整数a, b, c, dが与えられ、以下の操作を行うことを考える ただし操作は任意の順番で行える 1. a回左に移動: from (𝑢,𝑣) to (𝑢−1,𝑣) 2. b回右に移動: from (𝑢,𝑣) to (𝑢+1,𝑣) 3. c回下に移動: from (𝑢,𝑣) to…

Codeforces Round #629 (Div. 3)

codeforces.com Dまで A. Divisibility Problem 問題文 正の整数aとbが与えられる 一回の操作でaをa+1に変更できる aがbで割り切れるようにするのに最小で何回操作が必要か 解法 aをbで割ったときの値を切り上げたものからaを引いたものが答え 提出コード in…

Educational Codeforces Round 84 (Rated for Div. 2)

codeforces.com A. Sum of Odd Integers 問題文 ある整数nとkが与えられる k個の異なる奇数の総和がnに出来るかどうかを判定せよ 解法 いつもの偶奇見るやつね、と提出したらWA 異なる奇数でないといけないのが罠 nとkの偶奇が異なっていたらまず作れない そ…

Codeforces Round #628 (Div. 2)

codeforces.com 需要あるのかわからないけどこどふぉも書いていくことにした 簡単に訳した問題文も載せるつもりなので英語に拒否感ある人にもやってほしいなあ 訳とか結構雰囲気でやっているので間違っているところとかあればぜひ指摘してください Problem -…