QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#68645 | #691. One Root | ptch | WA | 62ms | 2276kb | C99 | 1.7kb | 2022-12-18 01:40:41 | 2022-12-18 01:40:43 |
Judging History
answer
#include <stdio.h>
#include <math.h>
#pragma warning(disable: 4996)
#include <time.h>
inline int max(int a, int b) {
return a > b ? a : b;
}
int n = 0;
int m = 0;
int p = 0;
int q = 0;
double f(double x) {
return pow(x, n) + x * (double)p;
}
double fprime(double x) {
return (double)n * pow(x, (double)n - 1) + (double)p;
}
int main()
{
scanf("%d %d", &n, &m);
long long ans = 0;
if (n % 2 == 1) { // 홀수차수
ans += (long long int)(m + 1) * (long long int)(2 * m + 1);
for (int i = 1; i <= m; i++) {
p = -i;
double root = pow((double)i / n, 1 / ((double)n - 1));
double crit = f(root);
//printf("%lf\n", root);
//printf("%lf\n", crit);
//printf("%d\n", ans);
//ans += 2 * max(m - ceil(-crit+1e-8) + 1, 0);
//printf("%d\n", 2 * max(m - ceil(-crit+1e-8) + 1, 0));
for (int j = max((int)(-crit-2), 0); j <= m; j++) {
if (j > -crit) {
ans += 2 * (m - j + 1);
break;
}
}
}
}
else if (n == 2) {
ans += 1;
for (int i = 1; i <= 1000; i++) {
if (abs(2 * i) <= m && i * i <= m) {
ans += 2;
}
}
}
else {
ans += 1;
for (int i = 1; i <= m; i++) {
p = -i;
double root = pow((double)i / n, 1 / ((double)n - 1));
double crit = f(root);
//printf("%lf\n", crit);
if (fabs(crit - (int)(crit)) < 1e-9 && fabs(crit) <= m) {
ans += 2;
}
}
}
printf("%lld\n", ans);
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 1924kb
input:
2 4
output:
5
result:
ok 1 number(s): "5"
Test #2:
score: 0
Accepted
time: 1ms
memory: 2172kb
input:
3 5
output:
96
result:
ok 1 number(s): "96"
Test #3:
score: 0
Accepted
time: 1ms
memory: 1996kb
input:
2 1000000
output:
2001
result:
ok 1 number(s): "2001"
Test #4:
score: 0
Accepted
time: 50ms
memory: 2264kb
input:
3 1000000
output:
2022680596351
result:
ok 1 number(s): "2022680596351"
Test #5:
score: 0
Accepted
time: 61ms
memory: 2200kb
input:
1245 1000000
output:
2995843859203
result:
ok 1 number(s): "2995843859203"
Test #6:
score: 0
Accepted
time: 1ms
memory: 2156kb
input:
4 1371
output:
9
result:
ok 1 number(s): "9"
Test #7:
score: 0
Accepted
time: 0ms
memory: 2276kb
input:
4 1372
output:
9
result:
ok 1 number(s): "9"
Test #8:
score: 0
Accepted
time: 60ms
memory: 2192kb
input:
999999 1000000
output:
3000004000001
result:
ok 1 number(s): "3000004000001"
Test #9:
score: 0
Accepted
time: 60ms
memory: 2156kb
input:
748715 998591
output:
2991555950208
result:
ok 1 number(s): "2991555950208"
Test #10:
score: 0
Accepted
time: 61ms
memory: 2160kb
input:
771813 998195
output:
2989183766856
result:
ok 1 number(s): "2989183766856"
Test #11:
score: 0
Accepted
time: 52ms
memory: 2244kb
input:
5 1000000
output:
2115634492913
result:
ok 1 number(s): "2115634492913"
Test #12:
score: 0
Accepted
time: 48ms
memory: 2096kb
input:
7 1000000
output:
2225505601227
result:
ok 1 number(s): "2225505601227"
Test #13:
score: 0
Accepted
time: 54ms
memory: 2276kb
input:
9 1000000
output:
2323337344497
result:
ok 1 number(s): "2323337344497"
Test #14:
score: 0
Accepted
time: 55ms
memory: 2168kb
input:
11 1000000
output:
2404625433573
result:
ok 1 number(s): "2404625433573"
Test #15:
score: 0
Accepted
time: 55ms
memory: 2204kb
input:
13 1000000
output:
2471273680065
result:
ok 1 number(s): "2471273680065"
Test #16:
score: 0
Accepted
time: 52ms
memory: 2196kb
input:
15 1000000
output:
2526134869197
result:
ok 1 number(s): "2526134869197"
Test #17:
score: 0
Accepted
time: 62ms
memory: 2236kb
input:
111 998119
output:
2922736426434
result:
ok 1 number(s): "2922736426434"
Test #18:
score: 0
Accepted
time: 47ms
memory: 2156kb
input:
128 991991
output:
3
result:
ok 1 number(s): "3"
Test #19:
score: 0
Accepted
time: 25ms
memory: 2160kb
input:
4718 471875
output:
3
result:
ok 1 number(s): "3"
Test #20:
score: 0
Accepted
time: 32ms
memory: 2168kb
input:
8859 561741
output:
946566163040
result:
ok 1 number(s): "946566163040"
Test #21:
score: 0
Accepted
time: 55ms
memory: 2232kb
input:
51715 891958
output:
2386749106469
result:
ok 1 number(s): "2386749106469"
Test #22:
score: 0
Accepted
time: 61ms
memory: 2160kb
input:
1291 1000000
output:
2996019756499
result:
ok 1 number(s): "2996019756499"
Test #23:
score: -100
Wrong Answer
time: 62ms
memory: 2192kb
input:
9295 1000000
output:
2999661108751
result:
wrong answer 1st numbers differ - expected: '2999661108753', found: '2999661108751'