結果
問題 |
No.2655 Increasing Strides
|
ユーザー |
![]() |
提出日時 | 2024-03-04 11:16:26 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 825 bytes |
コンパイル時間 | 1,603 ms |
コンパイル使用メモリ | 195,736 KB |
最終ジャッジ日時 | 2025-02-20 00:42:24 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 34 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; void NO(){ cout << "No" << endl; exit(0); } int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll N, se=0, so=0; cin >> N; vector<ll> o, e; for (int i=1; i<=N; i++){ if (i%2==0) e.push_back(i); else o.push_back(i); } for (auto i : e) se += i; for (auto i : o) so += i; if (se % 2 != 0) NO(); if (so % 2 != 0) NO(); se /= 2; so /= 2; reverse(e.begin(), e.end()); reverse(o.begin(), o.end()); for (auto x : e){ if (se - x >= 0){ se -= x; } } if (se != 0) NO(); for (auto x : o){ if (so - x >= 0){ so -= x; } } if (so != 0) NO(); cout << "Yes" << endl; return 0; }