# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
18639 | Namnamseo | 경비원 (GA8_guard) | C++14 | 603 ms | 21780 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <algorithm>
#include <queue>
int ps[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47};
int pn=15;
int n;
int data[2223];
typedef std::pair<int,int> pp;
pp dd[2223];
int dp[1<<15];
int M=int(1e9)+7;
int getMaxDivisor(int x){
for(int i=2;i*i<=x;++i) if(x%i==0) return x/i;
return x;
}
int main()
{
int i,j;
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d",data+i);
dd[i]={getMaxDivisor(data[i]),data[i]};
}
std::sort(dd,dd+n);
dp[0]=1;
std::queue<pp> pending;
for(i=0;i<n;++i){
int mymask = 0;
int myval = dd[i].second;
for(j=0; j<pn; ++j) if(myval % ps[j]==0) mymask |= (1<<j);
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |