QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#616762 | #7251. 2016 | dongyc666 | AC ✓ | 3ms | 4088kb | C++14 | 1008b | 2024-10-06 11:14:50 | 2024-10-06 11:14:52 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int prime[]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71};
const int INF=1e18;
int ans[10000],len,n;
struct task{
int val,num[20],cnt;
bool operator <(const task &T)const{
return val>T.val;
}
};
priority_queue<task>q;
set<int>s;
signed main(){
// freopen("1.out","w",stdout);
task tmp;tmp.val=tmp.cnt=1;
memset(tmp.num,0,sizeof(tmp.num));
tmp.num[0]=100;q.push(tmp);
int max1=0,max2=0;
while(!q.empty()){
task lcy=q.top();q.pop();
if(s.count(lcy.val)||max2>lcy.cnt)continue;
s.insert(lcy.val);ans[++len]=lcy.val;
max2=max(max2,lcy.cnt);
if(max2>max1)swap(max2,max1);
for(int i=1;i<=18;i++)
if(INF/prime[i]>lcy.val){
task tmp=lcy;
tmp.val*=prime[i];
tmp.cnt/=(tmp.num[i]+1);
tmp.num[i]++;
tmp.cnt*=(tmp.num[i]+1);
q.push(tmp);
}
// cout<<lcy.val<<endl;
}
cin>>n;
if(n>len)puts("-1");
else cout<<ans[n]<<endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 3836kb
input:
1
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 3ms
memory: 4088kb
input:
2
output:
2
result:
ok 1 number(s): "2"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
3
output:
3
result:
ok 1 number(s): "3"
Test #4:
score: 0
Accepted
time: 3ms
memory: 3916kb
input:
4
output:
4
result:
ok 1 number(s): "4"
Test #5:
score: 0
Accepted
time: 3ms
memory: 4028kb
input:
5
output:
5
result:
ok 1 number(s): "5"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
6
output:
6
result:
ok 1 number(s): "6"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
7
output:
8
result:
ok 1 number(s): "8"
Test #8:
score: 0
Accepted
time: 3ms
memory: 3940kb
input:
8
output:
10
result:
ok 1 number(s): "10"
Test #9:
score: 0
Accepted
time: 3ms
memory: 3880kb
input:
9
output:
12
result:
ok 1 number(s): "12"
Test #10:
score: 0
Accepted
time: 3ms
memory: 3948kb
input:
10
output:
14
result:
ok 1 number(s): "14"
Test #11:
score: 0
Accepted
time: 3ms
memory: 3912kb
input:
1115
output:
828876393609264000
result:
ok 1 number(s): "828876393609264000"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
1116
output:
869309388419472000
result:
ok 1 number(s): "869309388419472000"
Test #13:
score: 0
Accepted
time: 3ms
memory: 4012kb
input:
1117
output:
876240758958364800
result:
ok 1 number(s): "876240758958364800"
Test #14:
score: 0
Accepted
time: 3ms
memory: 4000kb
input:
1118
output:
897612484786617600
result:
ok 1 number(s): "897612484786617600"
Test #15:
score: 0
Accepted
time: 3ms
memory: 3840kb
input:
1119
output:
918984210614870400
result:
ok 1 number(s): "918984210614870400"
Test #16:
score: 0
Accepted
time: 3ms
memory: 3960kb
input:
1120
output:
950175378039888000
result:
ok 1 number(s): "950175378039888000"
Test #17:
score: 0
Accepted
time: 3ms
memory: 3896kb
input:
1121
output:
961727662271376000
result:
ok 1 number(s): "961727662271376000"
Test #18:
score: 0
Accepted
time: 0ms
memory: 4044kb
input:
1122
output:
989304082694928000
result:
ok 1 number(s): "989304082694928000"
Test #19:
score: 0
Accepted
time: 3ms
memory: 3948kb
input:
1123
output:
994651672331116800
result:
ok 1 number(s): "994651672331116800"
Test #20:
score: 0
Accepted
time: 3ms
memory: 3888kb
input:
1124
output:
-1
result:
ok 1 number(s): "-1"
Test #21:
score: 0
Accepted
time: 3ms
memory: 3992kb
input:
100
output:
15840
result:
ok 1 number(s): "15840"
Test #22:
score: 0
Accepted
time: 3ms
memory: 4044kb
input:
200
output:
2402400
result:
ok 1 number(s): "2402400"
Test #23:
score: 0
Accepted
time: 3ms
memory: 3916kb
input:
300
output:
205405200
result:
ok 1 number(s): "205405200"
Test #24:
score: 0
Accepted
time: 3ms
memory: 3912kb
input:
400
output:
8454045600
result:
ok 1 number(s): "8454045600"
Test #25:
score: 0
Accepted
time: 0ms
memory: 3964kb
input:
500
output:
216497080800
result:
ok 1 number(s): "216497080800"
Test #26:
score: 0
Accepted
time: 3ms
memory: 3964kb
input:
600
output:
4546438696800
result:
ok 1 number(s): "4546438696800"
Test #27:
score: 0
Accepted
time: 3ms
memory: 3892kb
input:
700
output:
111796299014400
result:
ok 1 number(s): "111796299014400"
Test #28:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
800
output:
1444035528936000
result:
ok 1 number(s): "1444035528936000"
Test #29:
score: 0
Accepted
time: 0ms
memory: 3908kb
input:
900
output:
14477620722364800
result:
ok 1 number(s): "14477620722364800"
Test #30:
score: 0
Accepted
time: 3ms
memory: 3896kb
input:
1000
output:
112201560598327200
result:
ok 1 number(s): "112201560598327200"
Test #31:
score: 0
Accepted
time: 3ms
memory: 3948kb
input:
1100
output:
695447510735577600
result:
ok 1 number(s): "695447510735577600"
Test #32:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
1000000000
output:
-1
result:
ok 1 number(s): "-1"