結果
問題 | No.1595 The Final Digit |
ユーザー | nizi_24a |
提出日時 | 2021-07-09 22:09:10 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,903 bytes |
コンパイル時間 | 2,522 ms |
コンパイル使用メモリ | 220,028 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-01 16:35:42 |
合計ジャッジ時間 | 3,113 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | AC | 2 ms
6,940 KB |
testcase_02 | AC | 2 ms
6,944 KB |
testcase_03 | AC | 2 ms
6,944 KB |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | AC | 2 ms
6,944 KB |
testcase_09 | AC | 3 ms
6,940 KB |
testcase_10 | AC | 2 ms
6,940 KB |
testcase_11 | AC | 2 ms
6,940 KB |
testcase_12 | WA | - |
testcase_13 | WA | - |
testcase_14 | WA | - |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | AC | 2 ms
6,944 KB |
testcase_18 | WA | - |
testcase_19 | WA | - |
ソースコード
#include <bits/stdc++.h> using namespace std; using i64 = int64_t; using ll = long long; using lint = long long; typedef vector<long long> vint; typedef pair<long long, long long> pint; #define INF INT32_MAX / 2 #define INF64 INT64_MAX / 2 #define EPS 0.001 #define EPS14 1.0E-14 #define REP(i, n) for (ll i = 0; i < n; i++) #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define ALL(f,c,...) (([&](decltype((c)) cccc) { return (f)(std::begin(cccc), std::end(cccc), ## __VA_ARGS__); })(c)) #define c(n) cout<<n<<endl; #define cf(n) cout<<fixed<<setprecision(15)<<n<<endl; template <class T>inline bool chmin(T&a,T b) {if(a>b){a=b;return true;}return false;} template <class T>inline bool chmax(T&a,T b) {if(a<b){a=b;return true;}return false;} template<class T>inline T sum(T n){return n*(n+1)/2;} map<ll,ll> prime_fac(ll A) {map<ll,ll>mp;for(ll i=2;i*i<=A;i++){while(A%i== 0){mp[i]++;A/=i;}}if(A!=1){mp[A]=1;}return mp;} bool is_prime(ll N){if(N<=1)return false;for(ll i=2;i*i<=N;i++){if(N%i==0) return false;}return true;} template<class T>inline T myceil(T a,T b){return (a+(b-1))/b;} ll pw(ll x, ll n){ll ret=1;while(n>0){if(n&1){ret*=x;}x *= x;n >>= 1;}return ret;} bool is_product_overflow(long long a,long long b) {long prod=a*b;return (prod/b!=a);} int main() { ll p, q, r, K; cin >> p >> q >> r >> K; map<vector<ll>, ll> mp; vector<ll> roop = {p%10, q%10, r%10}; ll cnt = 0; ll j = 0; REP (i, 15000) { roop.push_back({(roop[i] + roop[i + 1] + roop[i + 2]) % 10}); vector<ll> vec = {roop[i]%10, roop[i + 1]%10, roop[i + 2]%10}; if (mp.count(vec)) { cnt = i + 4 - mp[vec]; j = mp[vec]-1; break; } mp[vec] = i + 4; } if (K <= roop.size()) c(roop[K-1]) else { c(roop[j]) K -= j + 1; K %= cnt; c(roop[j + K]) } }