Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
63659235 Дорешивание:
KenBIL-8-Khondamir
939F - 31 GNU C++11 Полное решение 31 мс 7448 КБ 2019-10-28 16:36:32 2019-10-28 16:36:32
→ Исходный код
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;int f[3][300005],n,k,q[1000005];int main(){scanf("%d%d",&n,&k);memset(f,127,sizeof(f));f[0][0]=0;int opt=0;for(int i=1;i<=k;i++){opt=!opt;int l,r,h=1,t=0;scanf("%d%d",&l,&r);for(int j=0;j<=r;j++){if(j<=n){while(h<=t&&f[!opt][j]<=f[!opt][q[t]])t--;q[++t]=j;}while(h<=t&&q[h]<j-(r-l))h++;f[opt][j]=min(f[!opt][j],f[!opt][q[h]]+2);}h=1,t=0;for(int j=r;j>=0;j--){if(r-j<=n){while(h<=t&&f[!opt][r-j]<=f[!opt][q[t]])t--;q[++t]=r-j;}while(h<=t&&q[h]<l-j)h++;f[opt][j]=min(f[opt][j],f[!opt][q[h]]+1);}}if(f[opt][n]>1000000)printf("Hungry");else printf("Full\n%d",f[opt][n]);return 0;}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования