Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
117297907 Дорешивание:
QQH
939F - 31 GNU C++11 Полное решение 31 мс 41496 КБ 2021-05-25 10:48:54 2021-05-25 10:48:54
→ Исходный код
#include<bits/stdc++.h>
using namespace std;
const int N=100005,T=105;
int n,t,f[T][N],q[N];
int main(){
	scanf("%d%d",&n,&t);
	for(int i=1;i<=n;i++)f[0][i]=2e9;
	for(int i=1;i<=t+1;i++){
		int l,r;
		if(i==t+1)l=r=n*2;
		else scanf("%d%d",&l,&r);
		for(int j=0;j<=n;j++)f[i][j]=f[i-1][j];
		int he=1,ta=0;
		for(int j=0;j<=n;j++){
			while(he<=ta&&f[i-1][q[ta]]>=f[i-1][j])--ta;
			q[++ta]=j;
			while(q[he]<j-(r-l))++he;
			f[i][j]=min(f[i][j],f[i-1][q[he]]+2);
			if(r>=j&&r-j<=n)f[i][r-j]=min(f[i][r-j],f[i-1][q[he]]+1);
		}
	}
	if(f[t+1][n]==2e9){
		puts("Hungry");
		return 0;
	}
	puts("Full");
	printf("%d",f[t+1][n]);
	return 0;
} 
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования