Submission #1291959
Source Code Expand
#include <iostream> #include"grader.h" using namespace std; typedef long long ll; ll memo[51][20000]; ll calc(int nMiss, int nTotal) { if(nMiss > nTotal) return calc(nTotal, nTotal); if(nMiss == 0) return 1; if(nMiss == 1) return nTotal + 1; if(nMiss == 2) return nTotal * ll(nTotal+1) / 2; ll& res = memo[nMiss][nTotal]; if(res == 0){ res = calc(nMiss-1, nTotal-1) + calc(nMiss, nTotal-1); } return res; } long long getT(int N, long long M) { if(N==1){ for(int i = 0; i < 123456;i++){ if(compare(i))return i; } } int nTotal = 0; while(calc(N, nTotal) < M+1){ ++nTotal; } // cerr << nTotal << endl; ll mini = 0; ll maxi = M; while(mini < maxi){ // cerr << mini << " " << maxi << " " << N << " " << nTotal << " "; ll X = min(mini + calc(N-1, nTotal-1)-1, maxi); // cerr << X << endl; if(compare(X)){ // T <= X --N; maxi = X; }else{ mini = X+1; } --nTotal; } return mini; }
Submission Info
Submission Time | |
---|---|
Task | C - 提出 (Submission) |
User | eukaryo |
Language | IOI-Style C++ (GCC 5.4.1) |
Score | 100 |
Code Size | 1038 Byte |
Status | AC |
Exec Time | 2912 ms |
Memory | 4700 KB |
Compile Error
./grader.cpp: In function ‘int compare(long long int)’: ./grader.cpp:20:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] int result; scanf("%d", &result); ^ ./grader.cpp: In function ‘int main()’: ./grader.cpp:32:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%lld", &inN, &M); ^
Judge Result
Set Name | Subtask1 | Subtask2 | Subtask3 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 25 / 25 | 25 / 25 | 50 / 50 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Subtask1 | subtask1/1, subtask1/10, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7, subtask1/8, subtask1/9 |
Subtask2 | subtask2/1, subtask2/10, subtask2/2, subtask2/3, subtask2/4, subtask2/5, subtask2/6, subtask2/7, subtask2/8, subtask2/9 |
Subtask3 | subtask3/1, subtask3/10, subtask3/2, subtask3/3, subtask3/4, subtask3/5, subtask3/6, subtask3/7, subtask3/8, subtask3/9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask1/1 | AC | 3 ms | 604 KB |
subtask1/10 | AC | 798 ms | 476 KB |
subtask1/2 | AC | 2 ms | 476 KB |
subtask1/3 | AC | 2 ms | 476 KB |
subtask1/4 | AC | 2 ms | 472 KB |
subtask1/5 | AC | 920 ms | 476 KB |
subtask1/6 | AC | 2912 ms | 476 KB |
subtask1/7 | AC | 219 ms | 472 KB |
subtask1/8 | AC | 2009 ms | 472 KB |
subtask1/9 | AC | 1945 ms | 472 KB |
subtask2/1 | AC | 2 ms | 472 KB |
subtask2/10 | AC | 37 ms | 476 KB |
subtask2/2 | AC | 2 ms | 476 KB |
subtask2/3 | AC | 22 ms | 472 KB |
subtask2/4 | AC | 2 ms | 476 KB |
subtask2/5 | AC | 2 ms | 476 KB |
subtask2/6 | AC | 17 ms | 468 KB |
subtask2/7 | AC | 31 ms | 472 KB |
subtask2/8 | AC | 37 ms | 472 KB |
subtask2/9 | AC | 2 ms | 476 KB |
subtask3/1 | AC | 4 ms | 468 KB |
subtask3/10 | AC | 4 ms | 4700 KB |
subtask3/2 | AC | 4 ms | 4700 KB |
subtask3/3 | AC | 4 ms | 4700 KB |
subtask3/4 | AC | 3 ms | 2652 KB |
subtask3/5 | AC | 4 ms | 4700 KB |
subtask3/6 | AC | 4 ms | 596 KB |
subtask3/7 | AC | 4 ms | 4572 KB |
subtask3/8 | AC | 4 ms | 4696 KB |
subtask3/9 | AC | 4 ms | 4696 KB |