結果

問題 No.2187 三立法和 mod 333
ユーザー kwm_tkwm_t
提出日時 2023-01-13 22:16:09
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 100 ms
コード長 4,682 bytes
コンパイル時間 2,085 ms
コンパイル使用メモリ 202,048 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-06 23:01:55
合計ジャッジ時間 2,886 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 1 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 2 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 2 ms
5,376 KB
testcase_11 AC 2 ms
5,376 KB
testcase_12 AC 1 ms
5,376 KB
testcase_13 AC 2 ms
5,376 KB
testcase_14 AC 2 ms
5,376 KB
testcase_15 AC 2 ms
5,376 KB
testcase_16 AC 2 ms
5,376 KB
testcase_17 AC 2 ms
5,376 KB
testcase_18 AC 2 ms
5,376 KB
testcase_19 AC 1 ms
5,376 KB
testcase_20 AC 2 ms
5,376 KB
testcase_21 AC 2 ms
5,376 KB
testcase_22 AC 1 ms
5,376 KB
testcase_23 AC 2 ms
5,376 KB
testcase_24 AC 2 ms
5,376 KB
testcase_25 AC 2 ms
5,376 KB
testcase_26 AC 1 ms
5,376 KB
testcase_27 AC 1 ms
5,376 KB
testcase_28 AC 2 ms
5,376 KB
testcase_29 AC 2 ms
5,376 KB
testcase_30 AC 2 ms
5,376 KB
testcase_31 AC 2 ms
5,376 KB
testcase_32 AC 1 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
//#include <atcoder/all>
using namespace std;
//using namespace atcoder;
//using mint = modint1000000007;
//const int mod = 1000000007;
//using mint = modint998244353;
//const int mod = 998244353;
//const int INF = 1e9;
//const long long LINF = 1e18;
#define rep(i, n) for (long long i = 0; i < (n); ++i)
#define rep2(i,l,r)for(long long i=(l);i<(r);++i)
#define rrep(i, n) for (long long i = (n-1); i >= 0; --i)
#define rrep2(i,l,r)for(long long i=(r-1);i>=(l);--i)
#define all(x) (x).begin(),(x).end()
#define allR(x) (x).rbegin(),(x).rend()
#define endl "\n"
#define P pair<int,int>
template<typename A, typename B> inline bool chmax(A & a, const B & b) { if (a < b) { a = b; return true; } return false; }
template<typename A, typename B> inline bool chmin(A & a, const B & b) { if (a > b) { a = b; return true; } return false; }

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	vector<int>v = {
		0,
		499853409,
198066141,
65944976,
0,
0,
83359314,
197704749,
499956396,
461596998,
499924557,
250031589,
66025737,
0,
0,
65922195,
197880351,
395804754,
461671050,
395752629,
197825844,
65951319,
0,
0,
65936360,
197777304,
499639056,
583029498,
395715012,
249552855,
66073349,
0,
0,
66026043,
197876565,
395514645,
582863367,
303214194,
249900573,
66080034,
0,
0,
65941840,
249952551,
395548158,
583092006,
395796816,
250096923,
83408904,
0,
0,
83352606,
197785611,
395734917,
461688090,
395834907,
197910177,
65958885,
0,
0,
83129445,
197879421,
395601315,
583179990,
499975596,
197894460,
83217288,
0,
0,
65851552,
197977152,
395723337,
461598072,
499492386,
151682058,
83391159,
0,
0,
65982393,
197810568,
499698792,
461615477,
499465320,
197929308,
83479962,
0,
0,
66034772,
249868407,
395609340,
461586120,
395850384,
197943681,
65989561,
0,
0,
66018201,
249605913,
395763186,
461545017,
500244135,
250121904,
65992770,
0,
0,
83439696,
197582427,
395906010,
461534357,
395972283,
249747105,
50667829,
0,
0,
65970890,
197840178,
395783145,
582714366,
395839320,
249607272,
66034569,
0,
0,
65970813,
197862537,
499837770,
461586033,
395704725,
197937468,
66025153,
0,
0,
65971953,
197855130,
499324197,
461779937,
395694588,
250272546,
83394459,
0,
0,
65931391,
250137234,
395347209,
461799958,
395664129,
198104688,
83187177,
0,
0,
65844093,
197915487,
395640954,
461877100,
499267476,
197996145,
83116794,
0,
0,
83077128,
197816517,
395716419,
583089981,
395680647,
197847309,
66034770,
0,
0,
65927544,
197856531,
395729877,
582755274,
395784210,
197870754,
83518725,
0,
0,
83482623,
197741811,
500063223,
461407793,
395845749,
197818044,
66124482,
0,
0,
83419152,
197585898,
395806743,
461487779,
396117981,
249519294,
66035306,
0,
0,
83193621,
249380424,
395683833,
461503212,
500027589,
197855943,
65988450,
0,
0,
65930507,
197764092,
395690775,
461566449,
499518105,
197901777,
65986020,
0,
0,
65933772,
250096410,
395624835,
583102701,
395703927,
197915679,
65987298,
0,
0,
50523021,
249970845,
395405595,
461756184,
395565168,
198146163,
83144547,
0,
0,
65983467,
249543381,
499087524,
461617473,
395695518,
250057275,
65957211,
0,
0,
65974043,
197782437,
395546595,
461593956,
395765376,
249800436,
65946828,
0,
0,
83100603,
197759865,
499933236,
461658190,
499637970,
197937693,
65994989,
0,
0,
83165199,
151389405,
499921449,
461545845,
395752965,
197762508,
66111248,
0,
0,
83355123,
197818980,
499370913,
582628467,
395794911,
197844207,
83457036,
0,
0,
66017907,
197835168,
395622237,
461486226,
395661093,
197892921,
83237010,
0,
0,
83211351,
249550986,
395580453,
582788094,
395923029,
249712644,
66025575,
0,
0,
65897514,
249726033,
302922846,
583014219,
395884293,
197863206,
65933645,
0,
0,
65893369,
250099782,
395686374,
582793884,
499733808,
197928006,
66021523,
0,
0,
66010887,
197890128,
395726169,
461611814,
395609376,
197826183,
66037128,
0,
0,
65941779,
249662991,
499401411,
461547663,
499391031,
198039087,
83234613,
0,
0,
66018343,
197644773,
499469412,
353412483,
	};
	int a; cin >> a;
	cout << v[a] << endl;
	/*long long lim = 4444LL * 4444 * 4444 * 4444;
	vector<long long>v4(4445, 1);
	rep(i, v4.size()) {
		rep(j, 4)v4[i] *= i;
	}
	vector<vector<int>>v3(333, vector<int>(4446));
	rep2(i, 1, 4445) {
		int x = (i * i * i) % 333;
		v3[x][i]++;
	}
	rep(i, 333)rep(j, 4445) {
		v3[i][j + 1] += v3[i][j];
	}
	rep2(a, 1, 334) {
		long long ans = 0;
		rep2(i, 1, 4445) {
			int k = 4444;//ok max
			rep2(j, 1, 4445) {
				if (v4[i] + v4[j] > lim)break;
				long long y = 3330000000000000 - i * i*i - j * j*j + a;
				y %= 333;
				while (v4[i] + v4[j] + v4[k] > lim) {
					k--;
					if (0 == k)break;
				}
				if (0 == k)break;
				ans += v3[y][k];
			}
		}
		cout << ans <<','<< endl;
	}*/
	return 0;
}
0