結果
| 問題 |
No.492 IOI数列
|
| コンテスト | |
| ユーザー |
xuzijian629
|
| 提出日時 | 2018-09-11 10:15:21 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,108 bytes |
| コンパイル時間 | 902 ms |
| コンパイル使用メモリ | 102,884 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-23 03:08:46 |
| 合計ジャッジ時間 | 1,811 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 1 |
ソースコード
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <unordered_map>
#include <chrono>
#include <random>
#include <functional>
#include <utility>
#include <cassert>
#pragma GCC optimize("O3")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma comment(linker, "STACK:36777216")
using namespace std;
using i64 = int64_t;
constexpr i64 MOD = 1e9 + 7;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
using vi = vector<i64>;
using vvi = vector<vi>;
using vvvi = vector<vvi>;
using ii = pair<i64, i64>;
i64 tmp[] = {1,568658242,832989125,964713680,432717573,865999464,735084983,588059454,834230221,314653273,421935805,244213913,499865885,806688401,709661070,3368271,207231765,170842191,827693172,146063335,960280099,966692748,461319921,315013999,315391517,588888893,51320231,320055902,684924180,384456174,797022895,14153804,367300832,48054659,484574239,560466957,4644675,389023,788082206,455179231,198885522,840681663,758718052,41061196,350742828,601928613,408922199,148427570,302573877,376573500,144300001,478837572,431568836,185203966,327504435,430091869,417874738,421521591,682840839,622404319,296328424,970884251,734888505,903100813,478433713,91690004,254048209,881130177,473847831,849538152,104286961,902479973,955740468,856586321,945512322,588744593,241410053,993457327,583703689,650561389,712458802,979471021,958467374,422206051,62266485,77592561,337918007,660154005,703985793,404410458,17797199,332634843,756007764,278415043,181039352,868784608,583986413,368933151,348032305,490943380,24430014};
i64 get(i64 n) {
i64 rem = tmp[n / i64(1e7)];
for (int i = n / i64(1e7) * i64(1e7); i < n; i++) {
rem *= 100;
rem += 1;
rem %= MOD;
}
return rem;
}
vector<string> ans2 = {"1"};
int main() {
i64 n;
cin >> n;
i64 m = n;
n = (n - 1) % (MOD - 1);
cout << get(n) << endl;
for (int i = 0; i < 12; i++) {
ans2.push_back(ans2.back() + "01");
}
cout << ans2[(m - 1) % 11] << endl;
}
xuzijian629