結果
問題 |
No.528 10^9と10^9+7と回文
|
ユーザー |
![]() |
提出日時 | 2017-06-09 23:58:17 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,122 bytes |
コンパイル時間 | 564 ms |
コンパイル使用メモリ | 58,508 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-22 20:25:00 |
合計ジャッジ時間 | 1,559 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 8 WA * 20 |
ソースコード
#include <iostream> #include <algorithm> #include <string> using namespace std; using ll = unsigned long long int; ll mod0 = 1000000000LL; ll mod7 = 1000000007LL; int main(void){ string s; cin >> s; ll ans0 = 0,ans7 = 0,tmp0 = 9,tmp7 = 9; for(int i = 0; i < s.size()-1; i ++){ if(!(i%2) && i >= 2) tmp0 *= 10; if(!(i%2) && i >= 2) tmp7 *= 10; tmp0 %= mod0; tmp7 %= mod7; ans0 += tmp0; ans7 += tmp7; ans0 %= mod0; ans7 %= mod7; //cout << ans0 << endl; } for(int i = 0; i < (s.size()+1)/2; i++){ int a = min(s[i]-'0',s[s.size()-(i+1)]-'0'); if(i == 0){ tmp0 = a; tmp7 = a; }else{ a += 1; tmp0 *= a; tmp7 *= a; } tmp0 %= mod0; tmp7 %= mod7; } ans0 += tmp0; ans7 += tmp7; ans0 %= mod0; ans7 %= mod7; cout << ans0 << endl; cout << ans7 << endl; }