Cooking Water
Question
Solution
Idea
This is again a math problem. The tricky point for me is in understanding the problem itself. But after translating it into easier problem, the problems becomes: whether it is possible to have a time T
that is in range of all the input ranges. So, more specifically speaking, this is a window size problem.
After translation, the problem becomes eaiser to solve, we just need to update the range from the start of our input and at last, see if the left bound is bigger than the right bound or not.
If it is, that means, it is impossible to have such
T
.Otherwise, it is possible to have such
T
.
Code
https://github.com/mendax1234/Coding-Problems/blob/main/kattis/cookingwater/cookingwater.c
#include <stdio.h>
#define MAX 1001
int main() {
int n;
scanf("%d", &n);
int hi = MAX;
int lo = 0;
for (int i = 0; i < n; i += 1)
{
int l;
int h;
scanf("%d %d", &l, &h);
hi = hi > h ? h : hi;
lo = lo < l ? l : lo;
}
if (lo > hi)
{
printf("edward is right\n");
}
else
{
printf("gunilla has a point\n");
}
}
Last updated