結果
問題 | No.831 都市めぐり |
ユーザー |
![]() |
提出日時 | 2019-06-13 23:29:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 6 ms / 2,000 ms |
コード長 | 1,667 bytes |
コンパイル時間 | 1,588 ms |
コンパイル使用メモリ | 166,404 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-15 20:22:29 |
合計ジャッジ時間 | 2,522 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h>namespace DECLARATIONS {using namespace std;using ll = long long;using PI = pair<int, int>;template<class T> using V = vector<T>;using VI = V<int>;#define _1 first#define _2 second#ifdef MY_DEBUG# define DEBUG(x) x#else# define DEBUG(x)#endiftemplate<class T>inline void debug(T &A) {DEBUG(for (const auto &a : A) {cerr << a << " ";}cerr << '\n';)}template<class T>inline void debug_dim2(T &A) {DEBUG(for (const auto &as : A) {debug(as);})}template<typename ... Args>inline void debug(const char *format, Args const &... args) {DEBUG(fprintf(stderr, format, args ...);cerr << '\n';)}template<typename ... Args>string format(const std::string &fmt, Args ... args) {size_t len = std::snprintf(nullptr, 0, fmt.c_str(), args ...);std::vector<char> buf(len + 1);std::snprintf(&buf[0], len + 1, fmt.c_str(), args ...);return std::string(&buf[0], &buf[0] + len);}}using namespace DECLARATIONS;const int MOD = 1000000007;int main() {std::ios::sync_with_stdio(false);cin.tie(nullptr);int N;cin >> N;auto calc = [&]() {ll l = 1, r = N;ll ans = l * r;for (int i = 2; i < N; ++i) {if (i&1) {int a = i/2 + 1;ans += r * a;r = a;if (r < l) swap(l, r);} else {int a = N - i/2;ans += l * a;l = a;if (r < l) swap(l, r);}}ans += l * r;return ans;};if (N == 1) cout << 0;else cout << calc();return 0;}