結果
| 問題 |
No.129 お年玉(2)
|
| コンテスト | |
| ユーザー |
aaa
|
| 提出日時 | 2018-11-23 20:31:39 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,979 bytes |
| コンパイル時間 | 865 ms |
| コンパイル使用メモリ | 93,648 KB |
| 実行使用メモリ | 7,296 KB |
| 最終ジャッジ日時 | 2024-12-24 18:51:28 |
| 合計ジャッジ時間 | 10,298 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 RE * 2 |
| other | AC * 1 RE * 45 |
コンパイルメッセージ
main.cpp:41:31: warning: left shift count >= width of type [-Wshift-count-overflow]
41 | static const ll maxLL = (ll)1 << 62;
| ~~~~~~^~~~~
main.cpp:44:16: warning: overflow in conversion from 'double' to 'll' {aka 'int'} changes value from '1.0e+18' to '2147483647' [-Woverflow]
44 | const ll INF = 1e18;
| ^~~~
main.cpp: In function 'int func(ll, ll)':
main.cpp:54:9: warning: iteration 1001 invokes undefined behavior [-Waggressive-loop-optimizations]
54 | for (i = 0; i <= 1e4; i++)for (j = 0; j <= i; j++) {
| ^~~
main.cpp:54:23: note: within this loop
54 | for (i = 0; i <= 1e4; i++)for (j = 0; j <= i; j++) {
| ~~^~~~~~
ソースコード
//#include <bits/stdc++.h>
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <functional>
#include <map>
#include <iomanip>
#include <math.h>
#include <stack>
#include <queue>
#include <bitset>
#include <cstdlib>
#include <tuple>
#include <cctype>
#include <ctype.h>
#include <set>
#include <sstream>
#include <time.h>
using namespace std;
//#define int long long
//#define int int
#define rep(i,s,n) for(int i = s;i<n;i++)
#define repe(i,s,n) for(int i = s;i<=n;i++)
#define rrep(i,s,n) for(int i = (n)-1;i>=(s);i--)
#define all(v) (v).begin(),(v).end()
#define pb push_back
#define fi first
#define se second
#define chmin(a,b) a=min((a),(b))
#define chmax(a,b) a=max((a),(b))
//typedef long long ll;
typedef int ll;
typedef pair<int, int>pint;
typedef vector<int>vint;
typedef vector<pint>vpint;
typedef pair<pint, int> P1;
typedef pair<int, pint> P2;
typedef pair<pint, pint> PP;
static const ll maxLL = (ll)1 << 62;
//const ll MOD = 1000000007;
const ll MOD = 1000000000;
const ll INF = 1e18;
int ca[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
//ll a[10001][10001];
ll a[1001][1001];
int func(ll nn, ll mm) {
ll i, j, m = 1e9;
ll n;
for (i = 0; i <= 1e4; i++)for (j = 0; j <= i; j++) {
if (j == 0)a[i][j] = 1;
else a[i][j] = (a[i - 1][j] + a[i - 1][j - 1]) % m;
//j==iのときa[i-1][j]は0
}
cout << a[nn][mm] << endl;
return 0;
}
int main() {
//ll N, K;
long long N, K;
/*cout << sizeof(int) << endl;
cout << sizeof(ll) << endl;
cout << sizeof(a) << endl;*/
cin >> N >> K;
if (K * 1000 >= N) {
ll num1 = (int)(N / 1000);
func(K, num1);
}
else if (N % (K * 1000) == 0) {
cout << 1 << endl;
}
else {
ll num1 = (int)(N % (1000 * K)) / 1000;
//clock_t start = clock();
func(K, num1);
//clock_t end = clock();
//std::cout << "duration = " << (double)(end - start) / CLOCKS_PER_SEC << "sec.\n";
}
//cout << sizeof(a) << endl;
getchar();
getchar();
return 0;
}
aaa