Submission #62332464
Source Code Expand
#include <bits/stdc++.h>
#define FOR(i, a, b) for (int i = a; i <= b; ++i)
#define ROF(i, a, b) for (int i = a; i >= b; --i)
#define all(x) x.begin(),x.end()
#define deSpace(x) cerr<<x<<' '
#define deEnter(x) cerr<<x<<'\n'
using namespace std;
typedef unsigned long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll> pll;
typedef array<ll,3> arr;
typedef double DB;
const ll MAXN=static_cast<ll>(2e5)+10,MAXval=static_cast<ll>(1e18)+3;
ll N,M,A[5][MAXN];
struct Triple{
ll val,i,j,k;
};
struct cmp{
bool operator()(const Triple &a,const Triple &b) const{
return a.val<b.val;
}
};
struct cmpSet{
bool operator()(const Triple &a,const Triple &b) const{
if(a.val!=b.val) return a.val<b.val;
if(a.i!=b.i) return a.i<b.i;
if(a.j!=b.j) return a.j<b.j;
if(a.k!=b.k) return a.k<b.k;
return false;
}
};
priority_queue<Triple,vector<Triple> ,cmp> pq;
set<Triple,cmpSet> vis;
ll f(ll i,ll j,ll k){
ll res=0;
res=A[1][i]*A[2][j]+A[1][i]*A[3][k]+A[2][j]*A[3][k];
return res;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>N>>M;
FOR(i, 1, 3){
FOR(j,1,N){
cin>>A[i][j];
}
sort(&A[i][1],&A[i][N+1],greater<ll>());
}
ll rank=0;
pq.push((Triple){f(1,1,1),1,1,1});
while(!pq.empty()){
++rank;
// deSpace(pq.top().val);deSpace(pq.top().i);deSpace(pq.top().j);deEnter(pq.top().k);
if(rank==M){
cout<<pq.top().val<<'\n';
return 0;
}
ll i=pq.top().i,j=pq.top().j,k=pq.top().k;
pq.pop();
if(vis.find((Triple){f(i+1,j,k),i+1,j,k})==vis.end() && i+1<=N){
pq.push((Triple){f(i+1,j,k),i+1,j,k});
vis.insert((Triple){f(i+1,j,k),i+1,j,k});
}
if(vis.find((Triple){f(i,j+1,k),i,j+1,k})==vis.end() && j+1<=N){
pq.push((Triple){f(i,j+1,k),i,j+1,k});
vis.insert((Triple){f(i,j+1,k),i,j+1,k});
}
if(vis.find((Triple){f(i,j,k+1),i,j,k+1})==vis.end() && k+1<=N){
pq.push((Triple){f(i,j,k+1),i,j,k+1});
vis.insert((Triple){f(i,j,k+1),i,j,k+1});
}
}
return 0;
}
/*
*/
Submission Info
Submission Time
2025-02-02 21:00:30+0900
Task
F - K-th Largest Triplet
User
znzryb
Language
C++ 17 (Clang 16.0.6)
Score
500
Code Size
2042 Byte
Status
AC
Exec Time
830 ms
Memory
125696 KiB
Compile Error
./Main.cpp:50:3: warning: comparison of integers of different signs: 'int' and 'll' (aka 'unsigned long long') [-Wsign-compare]
FOR(j,1,N){
^ ~ ~
./Main.cpp:2:40: note: expanded from macro 'FOR'
#define FOR(i, a, b) for (int i = a; i <= b; ++i)
~ ^ ~
./Main.cpp:15:39: warning: unused variable 'MAXval' [-Wunused-const-variable]
const ll MAXN=static_cast<ll>(2e5)+10,MAXval=static_cast<ll>(1e18)+3;
^
2 warnings generated.
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
500 / 500
Status
Set Name
Test Cases
Sample
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt, 01_test_46.txt, 01_test_47.txt, 01_test_48.txt, 01_test_49.txt, 01_test_50.txt, 01_test_51.txt, 01_test_52.txt, 01_test_53.txt, 01_test_54.txt, 01_test_55.txt, 01_test_56.txt, 01_test_57.txt
Case Name
Status
Exec Time
Memory
00_sample_00.txt
AC
1 ms
3544 KiB
00_sample_01.txt
AC
1 ms
3540 KiB
00_sample_02.txt
AC
1 ms
3468 KiB
01_test_00.txt
AC
1 ms
3404 KiB
01_test_01.txt
AC
38 ms
8500 KiB
01_test_02.txt
AC
167 ms
22456 KiB
01_test_03.txt
AC
225 ms
27284 KiB
01_test_04.txt
AC
392 ms
42208 KiB
01_test_05.txt
AC
432 ms
46248 KiB
01_test_06.txt
AC
451 ms
47104 KiB
01_test_07.txt
AC
350 ms
38620 KiB
01_test_08.txt
AC
466 ms
48832 KiB
01_test_09.txt
AC
422 ms
45620 KiB
01_test_10.txt
AC
475 ms
49176 KiB
01_test_11.txt
AC
556 ms
96384 KiB
01_test_12.txt
AC
575 ms
87276 KiB
01_test_13.txt
AC
500 ms
112404 KiB
01_test_14.txt
AC
530 ms
123324 KiB
01_test_15.txt
AC
529 ms
101596 KiB
01_test_16.txt
AC
520 ms
101632 KiB
01_test_17.txt
AC
614 ms
99888 KiB
01_test_18.txt
AC
551 ms
101636 KiB
01_test_19.txt
AC
523 ms
101568 KiB
01_test_20.txt
AC
522 ms
101620 KiB
01_test_21.txt
AC
494 ms
93332 KiB
01_test_22.txt
AC
525 ms
101572 KiB
01_test_23.txt
AC
455 ms
49248 KiB
01_test_24.txt
AC
459 ms
49040 KiB
01_test_25.txt
AC
605 ms
112488 KiB
01_test_26.txt
AC
597 ms
112592 KiB
01_test_27.txt
AC
662 ms
123300 KiB
01_test_28.txt
AC
663 ms
123308 KiB
01_test_29.txt
AC
506 ms
116480 KiB
01_test_30.txt
AC
507 ms
116560 KiB
01_test_31.txt
AC
621 ms
123428 KiB
01_test_32.txt
AC
664 ms
123380 KiB
01_test_33.txt
AC
510 ms
116132 KiB
01_test_34.txt
AC
512 ms
116248 KiB
01_test_35.txt
AC
546 ms
116512 KiB
01_test_36.txt
AC
546 ms
116436 KiB
01_test_37.txt
AC
462 ms
92192 KiB
01_test_38.txt
AC
459 ms
92160 KiB
01_test_39.txt
AC
528 ms
116436 KiB
01_test_40.txt
AC
497 ms
116156 KiB
01_test_41.txt
AC
637 ms
123380 KiB
01_test_42.txt
AC
494 ms
116500 KiB
01_test_43.txt
AC
611 ms
123300 KiB
01_test_44.txt
AC
595 ms
123288 KiB
01_test_45.txt
AC
530 ms
123288 KiB
01_test_46.txt
AC
830 ms
125696 KiB
01_test_47.txt
AC
68 ms
8172 KiB
01_test_48.txt
AC
1 ms
3372 KiB
01_test_49.txt
AC
360 ms
42016 KiB
01_test_50.txt
AC
440 ms
48828 KiB
01_test_51.txt
AC
430 ms
48224 KiB
01_test_52.txt
AC
455 ms
101468 KiB
01_test_53.txt
AC
468 ms
101388 KiB
01_test_54.txt
AC
503 ms
101480 KiB
01_test_55.txt
AC
239 ms
67224 KiB
01_test_56.txt
AC
239 ms
67132 KiB
01_test_57.txt
AC
235 ms
67144 KiB