这题应该算是模拟题,因为粗心中间变量没设INT64所以一直过不了,最后几分钟才过,感觉自己还是太弱。。。。
#include<iostream>
#include<algorithm>
using namespace std;
__int64 num[10005];
int main()
{
memset(num, 0, sizeof(num));
int t;
cin >> t;
for (int i = 1; i <= t; i++)
{
printf("Case #%d:\n", i);
__int64 n, m, k;
scanf("%lld%lld%lld", &n, &m, &k);
bool flag = false;
for (int i = 0; i < n; i++)
scanf("%lld", &num[i]);
sort(num, num + n);
if (num[0] > m)
{
printf("madan!\n");
continue;
}
if (num[n - 1] < m)
{
printf("why am I so diao?\n");
continue;
}
__int64 x;
for (int i = 0; i < n; i++)
{
if (num[i] > m)
{
x = num[i - 1];
}
else
continue;
for (int j = i; j < n; j++)
{
if (x + k < num[j])
{
x = num[j - 1];
if (k > 0)
k--;
if (x + k < num[j])
{
flag = true;
break;
}
}
}
break;
}
if (flag)
{
printf("madan!\n");
}
else
{
printf("why am I so diao?\n");
}
}
}