結果
| 問題 |
No.528 10^9と10^9+7と回文
|
| ユーザー |
Nasatame
|
| 提出日時 | 2017-06-09 23:51:00 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,118 bytes |
| コンパイル時間 | 620 ms |
| コンパイル使用メモリ | 59,100 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-09-22 20:15:24 |
| 合計ジャッジ時間 | 1,426 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 8 WA * 20 |
ソースコード
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
using ll = unsigned long long int;
ll mod0 = 1000000000;
ll mod7 = 1000000007;
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;
}
Nasatame