104472024-04-02 19:51:59999Szakaszokcpp17Időlimit túllépés 86/100155ms37652 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define int long long
using orderedset = tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update>;

signed main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int m,n;cin>>m>>n;
	orderedset s;
	vector<vector<int>> h(m,vector<int>(3)),v(n,vector<int>(3)),will(0,vector<int>(3));
	for(int i = 0; i<m;i++){
		cin>>h[i][0]>>h[i][1]>>h[i][2];
		will.push_back({h[i][0],0,h[i][2]});
		will.push_back({h[i][1],-1,h[i][2]});
	}
	for(int i = 0; i<n;i++){
		cin>>v[i][2]>>v[i][0]>>v[i][1];
		will.push_back({v[i][2],-2,i});
	}
	sort(will.begin(),will.end());
	int ans=-1,ansv=0;
	int w=will.size();
	for(int i = 0;i<w;i++){
		if(will[i][1]==0){
			s.insert(will[i][2]);
		}
		else if(will[i][1]==-1){
			s.erase(will[i][2]);
		}
		else{
			int temp=s.order_of_key(v[will[i][2]][1]+1)-s.order_of_key(v[will[i][2]][0]);
			if(temp>ansv){
				ansv=temp;
				ans=will[i][2]+1;
			}
		}
	}cout<<ans<<endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base86/100
1Elfogadva0/03ms1828 KiB
2Elfogadva0/027ms7936 KiB
3Elfogadva2/23ms2580 KiB
4Elfogadva2/24ms3328 KiB
5Elfogadva2/26ms3784 KiB
6Elfogadva3/313ms5192 KiB
7Elfogadva3/39ms5308 KiB
8Elfogadva3/318ms6940 KiB
9Elfogadva3/319ms7500 KiB
10Elfogadva4/421ms8020 KiB
11Elfogadva4/427ms9236 KiB
12Elfogadva4/445ms13324 KiB
13Elfogadva7/745ms13804 KiB
14Elfogadva7/752ms16144 KiB
15Elfogadva7/761ms20376 KiB
16Elfogadva7/7148ms35144 KiB
17Elfogadva7/743ms13596 KiB
18Elfogadva7/761ms20480 KiB
19Elfogadva7/7118ms27468 KiB
20Időlimit túllépés0/7150ms35268 KiB
21Időlimit túllépés0/7155ms35464 KiB
22Elfogadva7/7115ms37652 KiB