본문 바로가기
이론/코딩테스트

[백준] 1590번 캠프가는 영식 (그리디 알고리즘)

by 퇴근후개발 2022. 8. 25.
반응형

-문제

 

-코드

#include<stdio.h>
#include<cmath>
using namespace std;

int main() 
{
	int n, t, wait=2147000000, bs,bi,bc, tmp;
	scanf("%d %d", &n, &t);
	for (int i = 0; i < n; i++)
	{
		scanf("%d %d %d", &bs,&bi,&bc);
		if (t <= bs) 
		{
			tmp = bs - t;
			if (wait > tmp) wait = tmp;
		}
		else
		{
			float q = (t - bs) / (float)bi;
			if (ceil(q) < bc)
			{
				tmp = bs + bi * ceil(q) - t;
				if (wait > tmp) wait = tmp;
			}

		}
	}
	if (wait == 2147000000) printf("%d", -1);
	else printf("%d", wait);

	return 0;
}
반응형