結果
問題 |
No.3048 Swing
|
ユーザー |
![]() |
提出日時 | 2025-03-07 22:53:43 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,901 bytes |
コンパイル時間 | 3,484 ms |
コンパイル使用メモリ | 273,616 KB |
実行使用メモリ | 8,608 KB |
最終ジャッジ日時 | 2025-03-07 22:54:16 |
合計ジャッジ時間 | 32,128 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 55 WA * 3 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define ll long long #define elif else if #define vi vector<int> #define vll vector<ll> #define vvi vector<vi> #define pii pair<int, int> #define repname(a, b, c, d, e, ...) e #define rep(...) repname(__VA_ARGS__, rep3, rep2, rep1, rep0)(__VA_ARGS__) #define rep0(x) for (int rep_counter = 0; rep_counter < (x); ++rep_counter) #define rep1(i, x) for (int i = 0; i < (x); ++i) #define rep2(i, l, r) for (int i = (l); i < (r); ++i) #define rep3(i, l, r, c) for (int i = (l); i < (r); i += (c)) struct ScalarInput { template <class T> operator T() { T ret; cin >> ret; return ret; } }; struct VectorInput { size_t n; VectorInput(size_t n) : n(n) {} template <class T> operator vector<T>() { vector<T> ret(n); for (T &x : ret) cin >> x; return ret; } }; ScalarInput input() { return ScalarInput(); } VectorInput input(size_t n) { return VectorInput(n); } template <typename T> void print(vector<T> a) { for (int i = 0; i < a.size(); i++) { cout << a[i] << " \n"[i + 1 == a.size()]; } } template <class T> void print(T x) { cout << x << '\n'; } template <class Head, class... Tail> void print(Head &&head, Tail &&...tail) { cout << head << ' '; print(forward<Tail>(tail)...); } double stop_watch(struct timespec start_time) { // 経過時間を秒単位で返す. struct timespec end_time; clock_gettime(CLOCK_REALTIME, &end_time); long long int sec = end_time.tv_sec - start_time.tv_sec; long long int nsec = end_time.tv_nsec - start_time.tv_nsec; return (double)sec + (double)nsec / (1000 * 1000 * 1000); } int main() { ll x, n; cin >> x >> n; ll i = 1; while (i <= n && !(-i <= x && x < 0)) { if (x < 0) x += i; else x -= i; i++; } i--; ll rem = (n - i) / 2; x -= rem; if ((n & 1) != (i & 1)) x += n; cout << x << endl; }