#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
void fastscan(int &n)
{
bool minus=false;
n=0;
register int c=getchar();
if(c=='-')
{
minus=true;
c=getchar();
}
while(c>='0'&&c<='9')
{
n*=10;
n+=c-'0';
c=getchar();
}
if(minus)
n*=-1;
}
int k,i,n,j,a,p,m1,m2,c1,c2,ma1,ma2,ca1,ca2,l,r,mid,v,dd;
int main()
{
//scanf("%i",&k);
fastscan(k);
vector<vector<int> > sets(k);
for(i=0;i<k;i++)
{
sets[i].pb(INT_MAX);
//scanf("%i",&n);
fastscan(n);
for(j=0;j<n;j++)
{
//scanf("%i",&a);
fastscan(a);
sets[i].pb(a);
}
sort(sets[i].begin(),sets[i].end());
}
for(i=0;i<k;i++)
{
for(dd=0;dd<sets[i].size();dd++)
{
p=sets[i][dd];
if(p==INT_MAX)
continue;
m1=INT_MAX;m2=INT_MAX;
ma1=-1;ma2=-1;
for(j=0;j<k;j++)
{
if(i==j)
continue;
l=0,r=sets[j].size()-1;
while(l<r)
{
mid=(l+r)/2;
if(mid==0&&sets[j][mid]>=p)
{
l=mid;
break;
}
if(sets[j][mid]>=p&&sets[j][mid-1]<p){
l=mid;
break;
}
if(sets[j][mid]<p)
{
l=mid+1;
}
else
{
r=mid;
}
}
v=sets[j][l];
if(v<m1)
{
m2=m1;
c2=c1;
m1=v;
c1=j;
}
else
{
if(v<m2)
{
m2=v;
c2=j;
}
}
if(l==0)
continue;
v=sets[j][l-1];
if(v>ma1)
{
ma2=ma1;
ca2=ca1;
ma1=v;
ca1=j;
}
else
{
if(v>ma2)
{
ma2=v;
ca2=j;
}
}
}
if(m1!=INT_MAX&&m2!=INT_MAX)
{
if(p+m1>m2)
{
printf("%i %i %i %i %i %i\n",i+1,p,c1+1,m1,c2+1,m2);
return 0;
}
}
if(ma1!=-1&&ma2!=-1)
{
if(ma1+ma2>p)
{
printf("%i %i %i %i %i %i\n",i+1,p,ca1+1,ma1,ca2+1,ma2);
return 0;
}
}
}
}
printf("NIE\n");
return 0;
}
Compilation message
pat.cpp: In function 'int main()':
pat.cpp:48:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(dd=0;dd<sets[i].size();dd++)
~~^~~~~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
508 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
508 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
508 KB |
Output is correct |
2 |
Correct |
2 ms |
508 KB |
Oczekiwano NIE |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
508 KB |
Oczekiwano NIE |
2 |
Correct |
9 ms |
640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
640 KB |
Oczekiwano NIE |
2 |
Correct |
13 ms |
792 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
792 KB |
Oczekiwano NIE |
2 |
Correct |
18 ms |
1152 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
14 ms |
1152 KB |
Oczekiwano NIE |
2 |
Correct |
28 ms |
1668 KB |
Output is correct |
3 |
Correct |
53 ms |
2244 KB |
Oczekiwano NIE |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
49 ms |
2524 KB |
Oczekiwano NIE |
2 |
Correct |
50 ms |
3356 KB |
Output is correct |
3 |
Correct |
88 ms |
4140 KB |
Oczekiwano NIE |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
98 ms |
5712 KB |
Output is correct |
2 |
Correct |
77 ms |
5712 KB |
Output is correct |
3 |
Correct |
129 ms |
5712 KB |
Oczekiwano NIE |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
110 ms |
5712 KB |
Output is correct |
2 |
Correct |
101 ms |
5712 KB |
Output is correct |
3 |
Correct |
194 ms |
5712 KB |
Oczekiwano NIE |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
202 ms |
7944 KB |
Output is correct |
2 |
Correct |
186 ms |
7944 KB |
Output is correct |
3 |
Correct |
242 ms |
7944 KB |
Oczekiwano NIE |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
201 ms |
7944 KB |
Output is correct |
2 |
Correct |
82 ms |
7944 KB |
Output is correct |
3 |
Correct |
362 ms |
7944 KB |
Oczekiwano NIE |