結果
| 問題 |
No.2655 Increasing Strides
|
| コンテスト | |
| ユーザー |
tnakao0123
|
| 提出日時 | 2024-04-25 17:03:19 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 919 bytes |
| コンパイル時間 | 277 ms |
| コンパイル使用メモリ | 41,540 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-08 04:13:15 |
| 合計ジャッジ時間 | 1,469 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 34 |
ソースコード
/* -*- coding: utf-8 -*-
*
* 2655.cc: No.2655 Increasing Strides - yukicoder
*/
#include<cstdio>
#include<algorithm>
using namespace std;
/* constant */
/* typedef */
typedef long long ll;
/* global variables */
/* subroutines */
bool checkodd(int n) {
// sig_i 2*i-1 = 2*(n*(n+1)/2)-n = n^2+n-n = n^2
// n=2: 1,3 NG
// n=4: 1,3,5,7 OK
// n=6: 1,3,5,7,9,11 OK
// n=8: 1,3,5,7,9,11,13,15 OK
// n=10: 1,3,5,7,9,11,13,15,17,19 OK
return (n > 2 && ! (n & 1));
}
bool checkeven(int n) {
// sig_i 2*i = n(n+1)
// n=3: 2,4,6 OK
// n=4: 2,4,6,8 OK
// n=5: 2,4,6,8,10 NG
// n=6: 2,4,6,8,10,12 NG
// n=7: 2,4,6,8,10,12,14 OK
// n=8: 2,4,6,8,10,12,14,16 OK
return (n > 2 && ((n & 3) == 3 || (n & 3) == 0));
}
/* main */
int main() {
int n;
scanf("%d", &n);
int x = (n + 1) / 2, y = n / 2;
if (checkodd(x) && checkeven(y)) puts("Yes");
else puts("No");
return 0;
}
tnakao0123