Submission #2266343
Source Code Expand
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cstring>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
#include <set>
#include <bitset>
#include <numeric>
#include <utility>
#include <iomanip>
#include <algorithm>
#include <functional>
#include <unordered_map>
using namespace std;
#define REP(i, s) for (int i = 0; i < s; ++i)
#define ALL(v) (v.begin(), v.end())
#define COUT(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << endl
#define EACH(i, s) for (__typeof__((s).begin()) i = (s).begin(); i != (s).end(); ++i)
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
template<class T1, class T2> ostream& operator << (ostream &s, pair<T1,T2> P)
{ return s << '<' << P.first << ", " << P.second << '>'; }
template<class T> ostream& operator << (ostream &s, vector<T> P)
{ for (int i = 0; i < P.size(); ++i) { if (i > 0) { s << " "; } s << P[i]; } return s; }
template<class T> ostream& operator << (ostream &s, vector<vector<T> > P)
{ for (int i = 0; i < P.size(); ++i) { s << endl << P[i]; } return s << endl; }
template<class T> ostream& operator << (ostream &s, set<T> P)
{ EACH(it, P) { s << "<" << *it << "> "; } return s << endl; }
template<class T1, class T2> ostream& operator << (ostream &s, map<T1,T2> P)
{ EACH(it, P) { s << "<" << it->first << "->" << it->second << "> "; } return s << endl; }
int n;
vector<pair<long long,long long> > prime_factor(long long n) {
vector<pair<long long,long long> > res;
for (long long i = 2; i*i <= n; ++i) {
if (n % i == 0) {
int exp = 0;
while (n % i == 0) {
++exp;
n /= i;
}
res.push_back(make_pair(i, exp));
}
}
if (n != 1) res.push_back(make_pair(n, 1));
return res;
}
int main() {
while (cin >> n) {
if (n == 0) break;
vector<pair<long long, long long> > vec = prime_factor(n);
sort(vec.begin(), vec.end());
cout << vec.back().first << endl;
}
}
Submission Info
Submission Time |
|
Task |
B - Working for the World |
User |
drken |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
2285 Byte |
Status |
AC |
Exec Time |
2 ms |
Memory |
256 KB |
Judge Result
Set Name |
All |
Score / Max Score |
100 / 100 |
Status |
|
Set Name |
Test Cases |
All |
00-sample, 10-minimum, 11-maximum, 12-little, 13-large, 14-middle, 15-zero, 50-random00, 50-random01, 50-random02, 50-random03, 50-random04, 50-random05, 50-random06, 50-random07, 50-random08, 50-random09, 50-random10, 50-random11, 50-random12, 50-random13, 50-random14, 50-random15, 50-random16, 50-random17, 50-random18, 50-random19 |
Case Name |
Status |
Exec Time |
Memory |
00-sample |
AC |
1 ms |
256 KB |
10-minimum |
AC |
1 ms |
256 KB |
11-maximum |
AC |
1 ms |
256 KB |
12-little |
AC |
1 ms |
256 KB |
13-large |
AC |
2 ms |
256 KB |
14-middle |
AC |
2 ms |
256 KB |
15-zero |
AC |
1 ms |
256 KB |
50-random00 |
AC |
2 ms |
256 KB |
50-random01 |
AC |
1 ms |
256 KB |
50-random02 |
AC |
2 ms |
256 KB |
50-random03 |
AC |
1 ms |
256 KB |
50-random04 |
AC |
1 ms |
256 KB |
50-random05 |
AC |
2 ms |
256 KB |
50-random06 |
AC |
2 ms |
256 KB |
50-random07 |
AC |
1 ms |
256 KB |
50-random08 |
AC |
1 ms |
256 KB |
50-random09 |
AC |
2 ms |
256 KB |
50-random10 |
AC |
1 ms |
256 KB |
50-random11 |
AC |
2 ms |
256 KB |
50-random12 |
AC |
1 ms |
256 KB |
50-random13 |
AC |
2 ms |
256 KB |
50-random14 |
AC |
1 ms |
256 KB |
50-random15 |
AC |
1 ms |
256 KB |
50-random16 |
AC |
2 ms |
256 KB |
50-random17 |
AC |
1 ms |
256 KB |
50-random18 |
AC |
2 ms |
256 KB |
50-random19 |
AC |
1 ms |
256 KB |