QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#858479 | #9675. 电池检测 | KaXdd_# | 5 | 553ms | 11544kb | C++14 | 2.7kb | 2025-01-16 17:38:40 | 2025-01-16 17:38:41 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define rg register
#define il inline
#define TT(T, Args) template<typename T, typename... Args>
#define L(i, a, b) for (rg int i = (a); i <= (b); i++)
#define R(i, a, b) for (rg int i = (a); i >= (b); i--)
#define rep(i, a) for (rg auto i : a)
using namespace std;
namespace xmpl_{
il int rd(){
int f = 1, x = 0;
char ch = getchar();
while(ch < '0' || ch > '9'){
if (ch == '-') f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9'){
x = x * 10 + ch - '0';
ch = getchar();
}
return x * f;
}
TT(T, Args) il void rd(T &x){
int f = 1;
x = 0;
char ch = getchar();
while(ch < '0' || ch > '9'){
if (ch == '-') f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9'){
x = x * 10 + ch - '0';
ch = getchar();
}
x *= f;
}
TT(T, Args) il void rd(T &x, Args &...args){rd(x), rd(args...);}
TT(T, Args) il void rdArr(T *arr, int cnt){while(cnt--) rd(*arr), arr++;}
il void wt(int x){
if (x < 0){
putchar('-');
x = -x;
}
if (x > 9) wt(x / 10);
putchar(x % 10 + 48);
}
il void wtln(int x){wt(x), putchar('\n');}
il void wtsp(int x){wt(x), putchar(' ');}
il void swap(int &x, int &y){x ^= y ^= x ^= y;}
il int max(int x, int y){return (x > y ? x : y);}
il int min(int x, int y){return (x < y ? x : y);}
il void ckmax(int &x, int y){x = max(x, y);}
il void ckmin(int &x, int y){x = min(x, y);}
il void cksum(int &x, int y){x += y;}
TT(T, Args) il void ckmax(T &x, T y, Args &...args){ckmax(x, y), ckmax(x, args...);}
TT(T, Args) il void ckmin(T &x, T y, Args &...args){ckmin(x, y), ckmin(x, args...);}
TT(T, Args) il void cksum(T &x, T y, Args &...args){cksum(x, y), cksum(x, args...);}
}
using namespace xmpl_;
using namespace std;
const int N = 1e3 + 5, M = 21, p = 1e9 + 7, inf = 0x3f3f3f3f3f3f3f3f;
int a, b, F[N][N];
il void init(){
memset(F, 0x3f, sizeof(F));
// L(i, 2, 1000) F[i][0] = 1;
F[2][1] = 3;
L(i, 3, 1000) F[i][1] = 2;
L(i, 2, 1000){
L(j, 2, 1000){
L(k, 0, j - 1){
ckmin(F[i][j], min(F[i - 1][j - k] + k * (k - 1) / 2, i * j + j * (j - 1) / 2 + 1));
}
}
}
// L(j, 2, 1000){
// wtsp(F[2][j]), wtln((2 + j) * (1 + j) / 2);
// }
}
il void clear(){
}
il void work(){
rd(a, b);
// if (a == 2 && b == 1) return wt(3), void();
// if (a == 2) return wt((a + b) * (a + b - 1) / 2), void();
// if (a <= b + 1) wt(F[a][b]);
// else wt(b + 1);
wt(F[a][b]);
}
signed main(){
// #define file 114514
#ifdef file
freopen("code.in", "r", stdin);
freopen("code.out", "w", stdout);
#endif
init();
int t = 1;
t = rd();
while(t--){
clear();
work();
puts("");
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 10
Accepted
time: 551ms
memory: 11440kb
input:
3 2 1 3 1 2 2
output:
3 2 6
result:
ok 3 number(s): "3 2 6"
Test #2:
score: 0
Wrong Answer
time: 551ms
memory: 11544kb
input:
12 2 1 2 2 2 3 2 4 3 1 3 2 3 3 3 4 4 1 4 2 4 3 4 4
output:
3 6 10 15 2 3 4 6 2 2 3 4
result:
wrong answer 6th numbers differ - expected: '4', found: '3'
Subtask #2:
score: 5
Accepted
Test #3:
score: 5
Accepted
time: 553ms
memory: 11424kb
input:
1000 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 13 2 14 2 15 2 16 2 17 2 18 2 19 2 20 2 21 2 22 2 23 2 24 2 25 2 26 2 27 2 28 2 29 2 30 2 31 2 32 2 33 2 34 2 35 2 36 2 37 2 38 2 39 2 40 2 41 2 42 2 43 2 44 2 45 2 46 2 47 2 48 2 49 2 50 2 51 2 52 2 53 2 54 2 55 2 56 2 57 2 58 2 59 2 60 2 61...
output:
3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210 231 253 276 300 325 351 378 406 435 465 496 528 561 595 630 666 703 741 780 820 861 903 946 990 1035 1081 1128 1176 1225 1275 1326 1378 1431 1485 1540 1596 1653 1711 1770 1830 1891 1953 2016 2080 2145 2211 2278 2346 2415 2485 2556 2628 27...
result:
ok 1000 numbers
Subtask #3:
score: 0
Wrong Answer
Test #4:
score: 0
Wrong Answer
time: 551ms
memory: 11508kb
input:
1000 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3 11 3 12 3 13 3 14 3 15 3 16 3 17 3 18 3 19 3 20 3 21 3 22 3 23 3 24 3 25 3 26 3 27 3 28 3 29 3 30 3 31 3 32 3 33 3 34 3 35 3 36 3 37 3 38 3 39 3 40 3 41 3 42 3 43 3 44 3 45 3 46 3 47 3 48 3 49 3 50 3 51 3 52 3 53 3 54 3 55 3 56 3 57 3 58 3 59 3 60 3 61...
output:
2 3 4 6 9 12 16 20 25 30 36 42 49 56 64 72 81 90 100 110 121 132 144 156 169 182 196 210 225 240 256 272 289 306 324 342 361 380 400 420 441 462 484 506 529 552 576 600 625 650 676 702 729 756 784 812 841 870 900 930 961 992 1024 1056 1089 1122 1156 1190 1225 1260 1296 1332 1369 1406 1444 1482 1521 ...
result:
wrong answer 2nd numbers differ - expected: '4', found: '3'
Subtask #4:
score: 0
Wrong Answer
Test #5:
score: 0
Wrong Answer
time: 549ms
memory: 11492kb
input:
1000 907 241 495 435 227 139 616 1 433 35 588 407 533 322 995 961 748 310 212 36 968 500 294 187 375 371 307 14 648 180 122 28 304 253 818 812 41 5 286 62 573 340 547 224 347 35 279 56 151 85 626 410 456 248 578 470 11 6 952 771 404 302 77 27 168 40 524 517 171 147 407 294 268 106 100 27 549 196 973...
output:
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...
result:
wrong answer 1st numbers differ - expected: '242', found: '2'
Subtask #5:
score: 0
Skipped
Dependency #1:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Skipped
Dependency #1:
0%