Submission #83899
Source Code Expand
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
using namespace std;
static const double EPS = 1e-10;
typedef long long ll;
#define rep(i,n) for(int i=0;i<n;i++)
#define rev(i,n) for(int i=n-1;i>=0;i--)
#define sz(a) a.size()
#define all(a) a.begin(),a.end()
#define mp(a,b) make_pair(a,b)
#define pb(a) push_back(a)
#define SS stringstream
#define DBG1(a) rep(_X,sz(a)){printf("%d ",a[_X]);}puts("");
#define DBG2(a) rep(_X,sz(a)){rep(_Y,sz(a[_X]))printf("%d ",a[_X][_Y]);puts("");}
#define bitcount(b) __builtin_popcount(b)
#define REP(i, s, e) for ( int i = s; i <= e; i++ )
const double INF = 1e12;
typedef complex<double> P,point;
typedef vector<P> G,polygon;
namespace std {bool operator < (const P& a, const P& b) {return real(a) != real(b) ? real(a) < real(b) : imag(a) < imag(b);} }
double cross(const P& a, const P& b) {return imag(conj(a)*b);}
double dot(const P& a, const P& b) {return real(conj(a)*b);}
struct L : public vector<P> {L(const P &a, const P &b) {push_back(a); push_back(b);} };
struct C {P p; double r;C(const P &p, double r) : p(p), r(r) { } C(){} };
int ccw(P a, P b, P c) {
b -= a; c -= a;
if (cross(b, c) > 0) return +1;
if (cross(b, c) < 0) return -1;
if (dot(b, c) < 0) return +2;
if (norm(b) < norm(c)) return -2;
return 0;
}
// Check Funcs //
bool intersectLL(const L &l, const L &m) {return abs(cross(l[1]-l[0], m[1]-m[0])) > EPS || abs(cross(l[1]-l[0], m[0]-l[0])) < EPS;}
bool intersectLS(const L &l, const L &s) {return cross(l[1]-l[0], s[0]-l[0])*cross(l[1]-l[0], s[1]-l[0]) < EPS;}
bool intersectLP(const L &l, const P &p) {return abs(cross(l[1]-p, l[0]-p)) < EPS;}
bool intersectSS(const L &s, const L &t) {return ccw(s[0],s[1],t[0])*ccw(s[0],s[1],t[1]) <= 0 && ccw(t[0],t[1],s[0])*ccw(t[0],t[1],s[1]) <= 0;}
bool intersectSP(const L &s, const P &p) {return abs(s[0]-p)+abs(s[1]-p)-abs(s[1]-s[0]) < EPS;}
// Where is Point in Polygon? //
#define curr(P, i) P[i]
#define next(P, i) P[(i+1)%P.size()]
enum { OUT, ON, IN };
int contains(const polygon& P, const point& p) {
bool in = false;
for (int i = 0; i < P.size(); ++i) {
point a = curr(P,i) - p, b = next(P,i) - p;
if (imag(a) > imag(b)) swap(a, b);
if (imag(a) <= 0 && 0 < imag(b))
if (cross(a, b) < 0) in = !in;
if (cross(a, b) == 0 && dot(a, b) <= 0) return ON;
}
return in ? IN : OUT;
}
// Area of Polygon //
double area2(const polygon& P) {
double A = 0;
for (int i = 0; i < P.size(); ++i)A += cross(curr(P, i), next(P, i));
return A;
}
// Totsuhou! Andrew's Monotone Chain //
vector<point> convex_hull(vector<point> ps) {
int n = ps.size(), k = 0;
sort(ps.begin(), ps.end());
vector<point> ch(2*n);
for (int i = 0; i < n; ch[k++] = ps[i++]) // lower-hull
while (k >= 2 && ccw(ch[k-2], ch[k-1], ps[i]) <= 0) --k;
for (int i = n-2, t = k+1; i >= 0; ch[k++] = ps[i--]) // upper-hull
while (k >= t && ccw(ch[k-2], ch[k-1], ps[i]) <= 0) --k;
ch.resize(k-1);
return ch;
}
P projection(const L &l, const P &p) {double t = dot(p-l[0], l[0]-l[1]) / norm(l[0]-l[1]);return l[0] + t*(l[0]-l[1]);}
P reflection(const L &l, const P &p) {return p + 2.0 * (projection(l, p) - p);}
double distanceLP(const L &l, const P &p) {
return abs(p - projection(l, p));
}
double distanceLL(const L &l, const L &m) {
return intersectLL(l, m) ? 0 : distanceLP(l, m[0]);
}
double distanceLS(const L &l, const L &s) {
if (intersectLS(l, s)) return 0;
return min(distanceLP(l, s[0]), distanceLP(l, s[1]));
}
double distanceSP(const L &s, const P &p) {
const P r = projection(s, p);
if (intersectSP(s, r)) return abs(r - p);
return min(abs(s[0] - p), abs(s[1] - p));
}
double distanceSS(const L &s, const L &t) {
if (intersectSS(s, t)) return 0;
return min(min(distanceSP(s, t[0]), distanceSP(s, t[1])),min(distanceSP(t, s[0]), distanceSP(t, s[1])));
}
P crosspoint(const L &l, const L &m) {
double A = cross(l[1] - l[0], m[1] - m[0]);
double B = cross(l[1] - l[0], l[1] - m[0]);
if (abs(A) < EPS && abs(B) < EPS) return m[0];
return m[0] + B / A * (m[1] - m[0]);
}
vector<P> C_cp(C a,C b){
vector<P> ret;
double L = abs(a.p-b.p);
/* anma dekitenai */
if( L-a.r-b.r > EPS || (abs(a.p-b.p)<EPS && fabs(a.r-b.r)<EPS) ||
abs(a.p-b.p) < abs(a.r-b.r)
)return ret;
double theta = atan2(b.p.imag()-a.p.imag(),b.p.real()-a.p.real());
double c = (L*L+a.r*a.r-b.r*b.r)/(2*L*a.r);
ret.push_back(
P(a.p.real()+a.r*cos(theta+acos(c)),
a.p.imag()+a.r*sin(theta+acos(c)))
);
if(fabs(L-a.r-b.r) > EPS)
ret.push_back(
P(a.p.real()+a.r*cos(theta-acos(c)),
a.p.imag()+a.r*sin(theta-acos(c)))
);
return ret;
}
P getPedal(L l, P p){
double A;
if(abs(l[1].real()-l[0].real()) < EPS){
return P(l[1].real(),p.imag()); // important
}else{
A = (l[1].imag()-l[0].imag())/(l[1].real()-l[0].real());
}
double a = -A , b = 1 , c = A*l[0].real() - l[0].imag();
double t = (a*p.real() + b*p.imag() + c)/(a*a+b*b);
return p-t * P(a,b);
}
vector<P> crosspointCL(const L l, const C c){
vector<P> ret;
P p = getPedal(l,c.p);
if( abs(p-c.p) > c.r+EPS)return ret;
P e = P((l[1]-l[0])/abs(l[1]-l[0]));
double S = sqrt(c.r*c.r-abs(p-c.p)*abs(p-c.p));
ret.push_back(p+S*e);
ret.push_back(p-S*e);
return ret;
}
P getCircumcenter(P a,P b,P c){
double A1 = 2 * ( b.real() - a.real() );
double B1 = 2 * ( b.imag() - a.imag() );
double C1 = pow(a.real(),2)-pow(b.real(),2) + pow(a.imag(),2)-pow(b.imag(),2);
double A2 = 2 * ( c.real() - a.real() );
double B2 = 2 * ( c.imag() - a.imag() );
double C2 = pow(a.real(),2)-pow(c.real(),2) + pow(a.imag(),2)-pow(c.imag(),2);
double X = (B1 * C2 - B2 * C1) / (A1 * B2 - A2 * B1);
double Y = (C1 * A2 - C2 * A1) / (A1 * B2 - A2 * B1);
return P(X,Y);
}
double AreaOfPolygon(vector<P> p){
double S = 0 ;
p.push_back(p[0]);
/* 多角形の面積公式 (反時計回りの場合) */
for(int i = 0 ; i < p.size()-1 ; i++){
S += (p[i].real() - p[i+1].real()) * (p[i].imag()+p[i+1].imag());
}
S /= 2.0;
return S;
}
typedef double Weight;
struct Edge {
int src, dst;
Weight weight;
Edge(int src, int dst, Weight weight) :
src(src), dst(dst), weight(weight) { }
};
bool operator < (const Edge &e, const Edge &f) {
return e.weight != f.weight ? e.weight > f.weight : // !!INVERSE!!
e.src != f.src ? e.src < f.src : e.dst < f.dst;
}
typedef vector<Edge> Edges;
typedef vector<Edges> Graph;
typedef vector<Weight> Array;
typedef vector<Array> Matrix;
// adj[i][j] = w(i,j)
#define N (20)
Weight adj[N][N];
int size, sorted[N][N], num[N];
void rec(int match[], int p, int l, Weight w, Weight &opt) {
int q = p + 1, i;
if (w >= opt) return;
for (; q < size; ++q) if (match[q] == -1) break;
int m = num[q], *list = sorted[q];
rep(j,m) if (match[i=list[j]] == -1) { // process greedily
match[q] = i, match[i] = q;
w += adj[i][q];
if (l + 1 < size / 2) rec(match, q, l+1, w, opt);
else opt = min(opt, w);
w -= adj[i][q];
match[q] = -1, match[i] = -1;
}
}
int gs;
bool compareWith(int i, int j) { return adj[gs][i] < adj[gs][j]; }
Weight minimumWeightMatching() {
for (gs = 0; gs < size; ++gs) { // sort adjacent nodes by edge weight
for (int j = gs+1; j < size; ++j)
sorted[gs][num[gs]++] = j;
sort(sorted[gs], sorted[gs]+num[gs], compareWith);
}
int match[size]; fill(match, match+size, -1);
Weight opt = 1e18;
rec(match, -1, 0, 0, opt);
return opt;
}
#include <cassert>
P v[100];
inline double calc(vector< pair<int,int> > &a){
double ans = 0;
for(int k = 0 ; k < a.size() ; k++){
int i = a[k].first;
int j = a[k].second;
if( i == -1 || j == -1 ){
if( i == -1 ){
ans += abs(v[j].real());
}else{
ans += abs(v[i].real());
}
continue;
}
double dy = (v[i].imag()-v[j].imag());
double dx = 0;
{
double x1 = abs(v[i].real());
double x2 = -x1;
dx = min(abs(v[i].real()-x1)+abs(v[j].real()-x2),abs(v[i].real()-x2)+abs(v[j].real()-x1));
}
{
double x1 = abs(v[j].real());
double x2 = -x1;
dx = min(dx,min(abs(v[i].real()-x1)+abs(v[j].real()-x2),abs(v[i].real()-x2)+abs(v[j].real()-x1)));
}
ans += min(abs(v[i].real())+abs(v[j].real()),abs(P(dx,dy)));
}
return ans;
}
inline double calc2(pair<int,int> &x){
int i = x.first;
int j = x.second;
if( i == -1 || j == -1 ){
if( i == -1 ){
return abs(v[j].real());
}else{
return abs(v[i].real());
}
}
double dy = (v[i].imag()-v[j].imag());
double dx = 0;
{
double x1 = abs(v[i].real());
double x2 = -x1;
dx = min(abs(v[i].real()-x1)+abs(v[j].real()-x2),abs(v[i].real()-x2)+abs(v[j].real()-x1));
}
{
double x1 = abs(v[j].real());
double x2 = -x1;
dx = min(dx,min(abs(v[i].real()-x1)+abs(v[j].real()-x2),abs(v[i].real()-x2)+abs(v[j].real()-x1)));
}
return min(abs(v[i].real())+abs(v[j].real()),abs(P(dx,dy)));
}
double doit(int n){
vector<pair<int,int> > a;
for(int i = 0 ; i < n ; i+=2){
a.push_back(mp(i,(i+1>=n?-1:i+1)));
}
double current = calc(a);
double src,dst;
while(1){
int ok = 0;
for(int i = 0 ; i < a.size() ; i++){
for(int j = i + 1 ; j < a.size() ; j++){
src = calc2(a[i])+calc2(a[j]);
swap(a[i].second,a[j].first);
dst = calc2(a[i])+calc2(a[j]);
if( dst >= src ){
swap(a[i].second,a[j].first);
}else{
current -= src-dst;
ok = 1;
}
src = calc2(a[i])+calc2(a[j]);
swap(a[i].second,a[j].second);
dst = calc2(a[i])+calc2(a[j]);
if( dst >= src ){
swap(a[i].second,a[j].second);
}else{
current -= src-dst;
ok = 1;
}
}
}
if(!ok)break;
}
return calc(a);
}
int n;
#include <time.h>
clock_t start, en;
int main(){
cin >> n;
if( n == 1 ){
P a;
cin >> a.real() >> a.imag();
printf("%.10lf\n",abs(a.real()));
return 0;
}else if( n <= 100 ){
srand(time(NULL));
for(int i = 0 ; i < n ; i++){
//v[i].real() = rand() % 100;
//v[i].imag() = -rand() % 100;
cin >> v[i].real() >> v[i].imag();
}
clock_t start = clock(),end;
double ans = 1e9;
for(int i = 0 ; i < 1000 ; i++){
random_shuffle(v,v+n);
ans = min(ans,doit(n));
end = clock();
if( (double)(end - start) / CLOCKS_PER_SEC > 1.8 ) break;
}
printf("%.10lf\n",ans);
/*
P v[20];
for(int i = 0 ; i < n ; i++){
cin >> v[i].real() >> v[i].imag();
}
if( n & 1 ){
double answer = 1e9;
for(int k = 0 ; k < n ; k++){
P v2[20];
int c = 0;
for(int i = 0 ; i < n ; i++){
if( i == k ) continue;
v2[c++] = v[i];
}
for(int i = 0 ; i < c ; i++){
for(int j = 0 ; j < c ; j++){
double dy = (v2[i].imag()-v2[j].imag());
double dx = 0;
{
double x1 = abs(v2[i].real());
double x2 = -x1;
dx = min(abs(v2[i].real()-x1)+abs(v2[j].real()-x2),abs(v2[i].real()-x2)+abs(v2[j].real()-x1));
}
{
double x1 = abs(v2[j].real());
double x2 = -x1;
dx = min(dx,min(abs(v2[i].real()-x1)+abs(v2[j].real()-x2),abs(v2[i].real()-x2)+abs(v2[j].real()-x1)));
}
adj[i][j] = min(abs(v2[i].real())+abs(v2[j].real()),abs(P(dx,dy)));
}
}
size = c;
answer = min(answer,minimumWeightMatching()+abs(v[k].real()));
}
printf("%.10lf\n", answer);
return 0;
}
for(int i = 0 ; i < n ; i++){
for(int j = 0 ; j < n ; j++){
double dy = (v[i].imag()-v[j].imag());
double dx = 0;
{
double x1 = abs(v[i].real());
double x2 = -x1;
dx = min(abs(v[i].real()-x1)+abs(v[j].real()-x2),abs(v[i].real()-x2)+abs(v[j].real()-x1));
}
{
double x1 = abs(v[j].real());
double x2 = -x1;
dx = min(dx,min(abs(v[i].real()-x1)+abs(v[j].real()-x2),abs(v[i].real()-x2)+abs(v[j].real()-x1)));
}
adj[i][j] = min(abs(v[i].real())+abs(v[j].real()),abs(P(dx,dy)));
}
}
*/
//size = n;
//printf("%.10lf\n", minimumWeightMatching());
}
}
Submission Info
Submission Time |
|
Task |
B - 玉座の間 |
User |
kyuridenamida |
Language |
C++ (G++ 4.6.4) |
Score |
200 |
Code Size |
12448 Byte |
Status |
AC |
Exec Time |
1835 ms |
Memory |
820 KB |
Judge Result
Set Name |
Subtask1 |
Subtask2 |
Subtask3 |
Subtask4 |
Score / Max Score |
50 / 50 |
50 / 50 |
50 / 50 |
50 / 50 |
Status |
|
|
|
|
Set Name |
Test Cases |
Subtask1 |
11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt |
Subtask2 |
11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt, 21_rand00.txt, 21_rand01.txt, 21_rand02.txt, 21_rand03.txt, 21_rand04.txt, 21_rand05.txt, 21_rand06.txt, 21_rand07.txt, 21_rand08.txt, 21_rand09.txt, 21_rand10.txt, 21_rand11.txt, 21_rand12.txt, 21_rand13.txt, 21_rand14.txt, 21_rand15.txt, 21_rand16.txt, 21_rand17.txt, 21_rand18.txt, 21_rand19.txt, 21_rand20.txt, 21_rand21.txt, 21_rand22.txt, 21_rand23.txt, 21_rand24.txt |
Subtask3 |
11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt, 21_rand00.txt, 21_rand01.txt, 21_rand02.txt, 21_rand03.txt, 21_rand04.txt, 21_rand05.txt, 21_rand06.txt, 21_rand07.txt, 21_rand08.txt, 21_rand09.txt, 21_rand10.txt, 21_rand11.txt, 21_rand12.txt, 21_rand13.txt, 21_rand14.txt, 21_rand15.txt, 21_rand16.txt, 21_rand17.txt, 21_rand18.txt, 21_rand19.txt, 21_rand20.txt, 21_rand21.txt, 21_rand22.txt, 21_rand23.txt, 21_rand24.txt, 31_rand00.txt, 31_rand01.txt, 31_rand02.txt, 31_rand03.txt, 31_rand04.txt, 31_rand05.txt, 31_rand06.txt, 31_rand07.txt, 31_rand08.txt, 31_rand09.txt, 31_rand10.txt, 31_rand11.txt, 31_rand12.txt, 31_rand13.txt, 31_rand14.txt, 31_rand15.txt, 31_rand16.txt, 31_rand17.txt, 31_rand18.txt, 31_rand19.txt, 31_rand20.txt, 31_rand21.txt, 31_rand22.txt, 31_rand23.txt, 31_rand24.txt |
Subtask4 |
11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt, 21_rand00.txt, 21_rand01.txt, 21_rand02.txt, 21_rand03.txt, 21_rand04.txt, 21_rand05.txt, 21_rand06.txt, 21_rand07.txt, 21_rand08.txt, 21_rand09.txt, 21_rand10.txt, 21_rand11.txt, 21_rand12.txt, 21_rand13.txt, 21_rand14.txt, 21_rand15.txt, 21_rand16.txt, 21_rand17.txt, 21_rand18.txt, 21_rand19.txt, 21_rand20.txt, 21_rand21.txt, 21_rand22.txt, 21_rand23.txt, 21_rand24.txt, 31_rand00.txt, 31_rand01.txt, 31_rand02.txt, 31_rand03.txt, 31_rand04.txt, 31_rand05.txt, 31_rand06.txt, 31_rand07.txt, 31_rand08.txt, 31_rand09.txt, 31_rand10.txt, 31_rand11.txt, 31_rand12.txt, 31_rand13.txt, 31_rand14.txt, 31_rand15.txt, 31_rand16.txt, 31_rand17.txt, 31_rand18.txt, 31_rand19.txt, 31_rand20.txt, 31_rand21.txt, 31_rand22.txt, 31_rand23.txt, 31_rand24.txt, 41_rand00.txt, 41_rand01.txt, 41_rand02.txt, 41_rand03.txt, 41_rand04.txt, 41_rand05.txt, 41_rand06.txt, 41_rand07.txt, 41_rand08.txt, 41_rand09.txt, 41_rand10.txt, 41_rand11.txt, 41_rand12.txt, 41_rand13.txt, 41_rand14.txt, 41_rand15.txt, 41_rand16.txt, 41_rand17.txt, 41_rand18.txt, 41_rand19.txt, 41_rand20.txt, 41_rand21.txt, 41_rand22.txt, 41_rand23.txt, 41_rand24.txt |
Case Name |
Status |
Exec Time |
Memory |
11_rand00.txt |
AC |
21 ms |
632 KB |
11_rand01.txt |
AC |
20 ms |
788 KB |
11_rand02.txt |
AC |
20 ms |
788 KB |
11_rand03.txt |
AC |
20 ms |
784 KB |
11_rand04.txt |
AC |
20 ms |
796 KB |
11_rand05.txt |
AC |
19 ms |
796 KB |
11_rand06.txt |
AC |
20 ms |
792 KB |
11_rand07.txt |
AC |
20 ms |
772 KB |
11_rand08.txt |
AC |
20 ms |
792 KB |
11_rand09.txt |
AC |
20 ms |
784 KB |
11_rand10.txt |
AC |
20 ms |
792 KB |
11_rand11.txt |
AC |
20 ms |
796 KB |
11_rand12.txt |
AC |
20 ms |
792 KB |
11_rand13.txt |
AC |
20 ms |
688 KB |
11_rand14.txt |
AC |
20 ms |
796 KB |
11_rand15.txt |
AC |
20 ms |
788 KB |
11_rand16.txt |
AC |
20 ms |
792 KB |
11_rand17.txt |
AC |
20 ms |
772 KB |
11_rand18.txt |
AC |
20 ms |
780 KB |
11_rand19.txt |
AC |
19 ms |
788 KB |
11_rand20.txt |
AC |
19 ms |
792 KB |
11_rand21.txt |
AC |
20 ms |
796 KB |
11_rand22.txt |
AC |
20 ms |
780 KB |
11_rand23.txt |
AC |
20 ms |
800 KB |
11_rand24.txt |
AC |
20 ms |
784 KB |
21_rand00.txt |
AC |
22 ms |
788 KB |
21_rand01.txt |
AC |
25 ms |
792 KB |
21_rand02.txt |
AC |
26 ms |
760 KB |
21_rand03.txt |
AC |
22 ms |
796 KB |
21_rand04.txt |
AC |
24 ms |
796 KB |
21_rand05.txt |
AC |
32 ms |
784 KB |
21_rand06.txt |
AC |
20 ms |
784 KB |
21_rand07.txt |
AC |
22 ms |
792 KB |
21_rand08.txt |
AC |
24 ms |
788 KB |
21_rand09.txt |
AC |
25 ms |
788 KB |
21_rand10.txt |
AC |
24 ms |
800 KB |
21_rand11.txt |
AC |
23 ms |
788 KB |
21_rand12.txt |
AC |
24 ms |
784 KB |
21_rand13.txt |
AC |
23 ms |
788 KB |
21_rand14.txt |
AC |
28 ms |
792 KB |
21_rand15.txt |
AC |
31 ms |
800 KB |
21_rand16.txt |
AC |
24 ms |
788 KB |
21_rand17.txt |
AC |
24 ms |
788 KB |
21_rand18.txt |
AC |
34 ms |
788 KB |
21_rand19.txt |
AC |
26 ms |
796 KB |
21_rand20.txt |
AC |
30 ms |
796 KB |
21_rand21.txt |
AC |
22 ms |
788 KB |
21_rand22.txt |
AC |
21 ms |
788 KB |
21_rand23.txt |
AC |
21 ms |
788 KB |
21_rand24.txt |
AC |
27 ms |
788 KB |
31_rand00.txt |
AC |
23 ms |
816 KB |
31_rand01.txt |
AC |
24 ms |
788 KB |
31_rand02.txt |
AC |
69 ms |
788 KB |
31_rand03.txt |
AC |
56 ms |
692 KB |
31_rand04.txt |
AC |
60 ms |
696 KB |
31_rand05.txt |
AC |
34 ms |
664 KB |
31_rand06.txt |
AC |
33 ms |
796 KB |
31_rand07.txt |
AC |
28 ms |
668 KB |
31_rand08.txt |
AC |
22 ms |
696 KB |
31_rand09.txt |
AC |
56 ms |
700 KB |
31_rand10.txt |
AC |
32 ms |
796 KB |
31_rand11.txt |
AC |
25 ms |
780 KB |
31_rand12.txt |
AC |
64 ms |
788 KB |
31_rand13.txt |
AC |
27 ms |
792 KB |
31_rand14.txt |
AC |
33 ms |
796 KB |
31_rand15.txt |
AC |
26 ms |
796 KB |
31_rand16.txt |
AC |
25 ms |
776 KB |
31_rand17.txt |
AC |
45 ms |
792 KB |
31_rand18.txt |
AC |
81 ms |
696 KB |
31_rand19.txt |
AC |
85 ms |
792 KB |
31_rand20.txt |
AC |
75 ms |
792 KB |
31_rand21.txt |
AC |
26 ms |
788 KB |
31_rand22.txt |
AC |
45 ms |
788 KB |
31_rand23.txt |
AC |
81 ms |
688 KB |
31_rand24.txt |
AC |
36 ms |
800 KB |
41_rand00.txt |
AC |
112 ms |
792 KB |
41_rand01.txt |
AC |
21 ms |
784 KB |
41_rand02.txt |
AC |
413 ms |
800 KB |
41_rand03.txt |
AC |
661 ms |
800 KB |
41_rand04.txt |
AC |
867 ms |
784 KB |
41_rand05.txt |
AC |
363 ms |
796 KB |
41_rand06.txt |
AC |
342 ms |
792 KB |
41_rand07.txt |
AC |
1223 ms |
788 KB |
41_rand08.txt |
AC |
54 ms |
784 KB |
41_rand09.txt |
AC |
295 ms |
684 KB |
41_rand10.txt |
AC |
25 ms |
788 KB |
41_rand11.txt |
AC |
857 ms |
788 KB |
41_rand12.txt |
AC |
1286 ms |
792 KB |
41_rand13.txt |
AC |
185 ms |
692 KB |
41_rand14.txt |
AC |
435 ms |
792 KB |
41_rand15.txt |
AC |
68 ms |
696 KB |
41_rand16.txt |
AC |
48 ms |
788 KB |
41_rand17.txt |
AC |
720 ms |
796 KB |
41_rand18.txt |
AC |
1831 ms |
820 KB |
41_rand19.txt |
AC |
1835 ms |
788 KB |
41_rand20.txt |
AC |
473 ms |
788 KB |
41_rand21.txt |
AC |
39 ms |
796 KB |
41_rand22.txt |
AC |
277 ms |
796 KB |
41_rand23.txt |
AC |
1293 ms |
796 KB |
41_rand24.txt |
AC |
919 ms |
700 KB |