結果
問題 | No.1595 The Final Digit |
ユーザー |
![]() |
提出日時 | 2021-07-09 21:44:36 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 834 bytes |
コンパイル時間 | 2,195 ms |
コンパイル使用メモリ | 192,376 KB |
最終ジャッジ日時 | 2025-01-22 21:21:46 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { int p[4]; ll k; cin >> p[0] >> p[1] >> p[2] >> k; for (int i = 0; i < 3; i++) { p[i] %= 10; } int x[1000] = {}, y[2000]; for (int l = 4; l < 2000; l++) { int s = 0, t = 0, u = 1; for (int i = 0; i < 3; i++) { s += p[i]; t += p[i] * u; u *= 10; } p[3] = s % 10; if (l == k) { cout << p[3] << endl; exit(0); } if (x[t] != 0) { ll c = l - x[t]; ll l0 = x[t] + (k - l) % c; cout << y[l0] << endl; exit(0); } x[t] = l; y[l] = p[3]; for (int i = 0; i < 3; i++) { p[i] = p[i + 1]; } } return 0; }