Submission #1528997
Source Code Expand
#include <cstdio>
#include <cstring>
#include <cmath>
#include <stdlib.h>
#include <queue>
#include <set>
#include <iostream>
#include <stack>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
//#include <assert.h>
//#include <sstream>
using namespace std;
#define ll long long
#define ull unsigned long long
#define pii pair <int, int>
#define piii pair <int, pii>
#define vi vector <int>
#define vl vector <ll>
#define pll pair <ll, ll>
#define PI acos(-1)
#define MP make_pair
#define PB push_back
#define F first
#define S second
#define mem(a, b) memset(a, b, sizeof(a))
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) (a*(b/gcd(a,b)))
#define sqr(a) ((a)*(a))
#define inf 100000000
const int INF = 0x3f3f3f3f;
const long long LINF = 0x3f3f3f3f3f3f3f3fLL;
#define mod 1000000007
#define mod1 1000000007
#define mod2 1000000009
#define b1 43
#define b2 41
#define EPS 1e-9
//define harmonic(n) 0.57721566490153286l+log(n)
#define nl puts("")
#define odd(n) ((n)&1)
#define even(n) (!((n)&1))
#define vsort(v) sort(v.begin(), v.end())
#define lc (node<<1)
#define rc ((node<<1)|1)
//loop
#define rep(i, n) for(int i = 0; i < n; ++i)
#define REP(i, n) for(int i = 1; i <= n; ++i)
#define forn(i, j, n) for(int i = j; i <= n; ++i)
//input
#define si(a) scanf("%d", &a)
#define sii(a, b) scanf("%d%d", &a, &b)
#define siii(a, b, c) scanf("%d%d%d", &a, &b, &c)
#define sl(a) scanf("%lld", &a)
#define sll(a, b) scanf("%lld%lld", &a, &b)
#define slll(a, b, c) scanf("%lld%lld%lld", &a, &b, &c)
#define sd(a) scanf("%lf", &a)
#define sc(a) scanf("%c", &a)
#define sst(a) scanf("%s", a)
inline bool EQ(double a, double b) { return fabs(a-b) < 1e-9; }
//debug
#ifdef tahsin
template < typename F, typename S >
ostream& operator << ( ostream& os, const pair< F, S > & p ) {
return os << "(" << p.first << ", " << p.second << ")";
}
template < typename T >
ostream &operator << ( ostream & os, const vector< T > &v ) {
os << "{";
for(auto it = v.begin(); it != v.end(); ++it) {
if( it != v.begin() ) os << ", ";
os << *it;
}
return os << "}";
}
template < typename T >
ostream &operator << ( ostream & os, const set< T > &v ) {
os << "[";
for(auto it = v.begin(); it != v.end(); ++it) {
if( it != v.begin()) os << ", ";
os << *it;
}
return os << "]";
}
template < typename F, typename S >
ostream &operator << ( ostream & os, const map< F, S > &v ) {
os << "[";
for(auto it = v.begin(); it != v.end(); ++it) {
if( it != v.begin() ) os << ", ";
os << it -> first << " = " << it -> second ;
}
return os << "]";
}
#define dbg(args...) do {cerr << #args << " : "; faltu(args); } while(0)
clock_t tStart = clock();
#define timeStamp dbg("Execution Time: ", (double)(clock() - tStart)/CLOCKS_PER_SEC)
void faltu () { cerr << endl; }
template <typename T>
void faltu( T a[], int n ) {
for(int i = 0; i < n; ++i) cerr << a[i] << ' ';
cerr << endl;
}
template <typename T, typename ... hello>
void faltu( T arg, const hello &... rest) { cerr << arg << ' '; faltu(rest...); }
#else
#define dbg(args...)
#endif
ll add(ll a, ll b, ll m = mod) {
ll ret = a+b;
if(ret >= m) ret -= m;
return ret;
}
ll subtract(ll a, ll b, ll m = mod) {
ll ret = a-b;
if(ret < 0) ret += m;
return ret;
}
ll mult(ll a, ll b, ll m = mod) {
ll ret = a*b;
if(ret >= m) ret %= m;
return ret;
}
ll bigmod(ll a, ll b, ll m = mod) {
ll ret = 1;
while(b) {
if(b&1) ret = mult(ret, a, m);
b >>= 1; a = mult(a, a, m);
}
return ret;
}
ll inverse(ll n, ll m = mod) { return bigmod(n, mod-2, m); }
/*
bool base[1000010];
vi primes;
void sieve(int mx) {
mx += 10;
int x = sqrt(mx);
for(int i = 3; i <= x; i += 2) if(base[i] == 0) for(int j = i*i, k = i<<1; j < mx; j += k) base[j] = 1;
primes.PB(2);
for(int i = 3; i < mx; i += 2) if(base[i] == 0) primes.PB(i);
}
*/
//Direction Array
//int fx[]={1, -1, 0, 0}; int fy[]={0, 0, 1, -1};
//int fx[]={0, 0, 1, -1, -1, 1, -1, 1}; int fy[]={-1, 1, 0, 0, 1, 1, -1, -1};
//bit manipulation
/*
bool checkBit(int n, int i) { return (n&(1<<i)); }
int setBit(int n, int i) { return (n|(1<<i)); }
int resetBit(int n, int i) { return (n&(~(1<<i))); }
*/
//end of template
#define mxn 100010
int a[mxn];
int main () {
#ifdef tahsin
freopen("in", "r", stdin);
// freopen("out", "w", stdout);
#endif
int n;
while(si(n) == 1) {
rep(i, n) si(a[i]);
unordered_map <int, int> cnt;
vi v;
rep(i, n) {
++cnt[a[i]];
if(cnt[a[i]] % 2 == 0) v.PB(a[i]);
}
sort(v.rbegin(), v.rend());
if(v.size() < 2) puts("0");
else printf("%lld\n", (ll) v[0]*v[1]);
}
// timeStamp;
return 0;
}
Submission Info
Submission Time
2017-08-20 22:40:58+0900
Task
C - Make a Rectangle
User
tahsynx
Language
C++14 (GCC 5.4.1)
Score
300
Code Size
4795 Byte
Status
AC
Exec Time
29 ms
Memory
4772 KiB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:188:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rep(i, n) si(a[i]);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
300 / 300
Status
Set Name
Test Cases
Sample
sample1.txt, sample2.txt, sample3.txt
All
sample1.txt, sample2.txt, sample3.txt, 1.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt, sample3.txt
Case Name
Status
Exec Time
Memory
1.txt
AC
29 ms
4108 KiB
2.txt
AC
9 ms
640 KiB
3.txt
AC
29 ms
4772 KiB
4.txt
AC
25 ms
2700 KiB
5.txt
AC
10 ms
640 KiB
6.txt
AC
19 ms
1024 KiB
7.txt
AC
18 ms
1024 KiB
8.txt
AC
8 ms
640 KiB
9.txt
AC
15 ms
2444 KiB
sample1.txt
AC
1 ms
256 KiB
sample2.txt
AC
1 ms
256 KiB
sample3.txt
AC
1 ms
256 KiB