Submission #96051

#TimeUsernameProblemLanguageResultExecution timeMemory
96051MohamedAhmed0Sticks (POI11_pat)C++14
100 / 100
211 ms6952 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...