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 <bits/stdc++.h>
using namespace std;
const int MAXK = 55 ;
const int MAXN = 1e6+10 ;
int arr[MAXK][MAXN] , sz[MAXK];
int k ;
int readInt () {
bool minus = false;
int result = 0;
char ch;
ch = getchar();
while (true) {
if (ch == '-') break;
if (ch >= '0' && ch <= '9') break;
ch = getchar();
}
if (ch == '-') minus = true; else result = ch-'0';
while (true) {
ch = getchar();
if (ch < '0' || ch > '9') break;
result = result*10 + (ch - '0');
}
if (minus)
return -result;
else
return result;
}
bool is_triangle(long long x , long long y , long long z)
{
return (x < y+z && y < x + z && z < x+y) ;
}
int main()
{
int n ;
n = readInt();
for(int i = 0 ; i < n ; ++i)
{
sz[i] = readInt();
for(int j = 0 ; j < sz[i] ; ++j)
arr[i][j] = readInt();
sort(arr[i] , arr[i] + sz[i]) ;
}
for(int i = 0 ; i < n ; ++i)
{
for(int i2 = 0 ; i2 < sz[i] ; ++i2)
{
long long a = arr[i][i2] ;
long long l = -1e12 , m = 1e12 , cl = -1 , cm = -1;
for(int j = 0 ; j < n ; ++j)
{
if(i == j)
continue;
int high = lower_bound(arr[j] , arr[j] + sz[j] , a) - arr[j] ;
int low = high-1 ;
if(high != sz[j])
{
if(is_triangle(a*1ll , l*1ll , arr[j][high] * 1ll) && cl != -1)
return cout<<i+1<<" "<<a<<" "<<cl+1<<" "<<l<<" "<<j+1<<" "<<arr[j][high]<<"\n" , 0 ;
}
if(arr[j][high] == a)
low = high ;
if(low >= 0)
{
if(is_triangle(a * 1ll , m * 1ll , arr[j][low] * 1ll) && cm != -1)
return cout<<i+1<<" "<<a<<" "<<cm+1<<" "<<m<<" "<<j+1<<" "<<arr[j][low]<<"\n" , 0 ;
}
if(high != sz[j])
{
if(arr[j][high] * 1ll >= a && arr[j][high] * 1ll < m)
cm = j , m = arr[j][high] ;
}
if(low >= 0)
{
if(arr[j][low] * 1ll <= a && arr[j][low] * 1ll > l)
cl = j , l = arr[j][low] ;
}
}
}
}
return cout<<"NIE\n" , 0 ;
}
# | 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... |
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |