Submission #825615

# Submission time Handle Problem Language Result Execution time Memory
825615 2023-08-15T06:23:06 Z MohamedAhmed04 Arranging Tickets (JOI17_arranging_tickets) C++14
0 / 100
1 ms 340 KB
#include <bits/stdc++.h>

using namespace std ;

const int MAX = 1e5 + 10 ;

int L[MAX] , R[MAX] , C[MAX] ;
int n , m ;

vector< pair<int , int> >vp ;

bool cmp(pair<int , int>&a , pair<int , int>&b)
{
	if(a.second != b.second)
		return a.second > b.second ;
	else
		return a.first < b.first ;
}

int cnt[MAX] ;

void Apply(pair<int , int>p)
{
	for(int i = 1 ; i <= n ; ++i)
	{
		if(i < p.first || i >= p.second)
		{
			if(cnt[i] <= 0)
				return ;
		}
	}
	for(int i = 1 ; i <= n ; ++i)
	{
		if(i < p.first || i >= p.second)
			cnt[i]-- ;
		else
			cnt[i]++ ;
	}
}

bool check(int k)
{
	for(int i = 1 ; i <= n ; ++i)
		cnt[i] = k ;
	for(auto &p : vp)
	{
		for(int i = p.first ; i < p.second ; ++i)
			cnt[i]-- ;
	}
	bool flag = true ;
	for(int i = 1 ; i <= n ; ++i)
		flag &= (cnt[i] >= 0) ;
	if(flag)
		return true ;
	for(auto &p : vp)
		Apply(p) ;
	flag = true ;
	for(int i = 1 ; i <= n ; ++i)
		flag &= (cnt[i] >= 0) ;
	return flag ;
}

int main()
{
	ios_base::sync_with_stdio(0) ;
	cin.tie(0) ;
	cin>>n>>m ;
	for(int i = 0 ; i < m ; ++i)
	{
		cin>>L[i]>>R[i]>>C[i] ;
		if(R[i] < L[i])
			swap(L[i] , R[i]) ;
		vp.emplace_back(L[i] , R[i]) ;
	}
	sort(vp.begin() , vp.end() , cmp) ;
	int l = 1 , r = m ;
	int ans = r ;
	while(l <= r)
	{
		int mid = (l + r) >> 1 ;
		if(check(mid))
			ans = mid , r = mid-1 ;
		else
			l = mid+1 ;
	}
	return cout<<ans<<"\n" , 0 ;
}		
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Incorrect 0 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Incorrect 0 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Incorrect 0 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Incorrect 0 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 340 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Incorrect 0 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -