求救
  • 板块P1167 刷题
  • 楼主__Zeze__
  • 当前回复11
  • 已保存回复11
  • 发布时间2024/8/31 12:51
  • 上次更新2024/8/31 16:43:39
查看原帖
求救
1162764
__Zeze__楼主2024/8/31 12:51

测评记录

#include <bits/stdc++.h> 
using namespace std;
int n, a[5005], yyyy1, mm1, dd1, hh1, m1, yyyy2, mm2, dd2, hh2, m2, k, j, z = 0, l;
int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	scanf("%d-%d-%d-%d:%d", &yyyy1, &mm1, &dd1, &hh1, &m1);
	scanf("%d-%d-%d-%d:%d", &yyyy2, &mm2, &dd2, &hh2, &m2);
	k = m1 + hh1 * 60 + dd1 * (24 * 60);
	j = m2 + hh2 * 60 + dd2 * (24 * 60);
	for (int i = 0; i <= yyyy1; i++)
	{
		if ((i % 4 == 0 && i % 100 != 0) || (i % 100 == 0 && i % 400 == 0))
		{
			k += (366 * (24 * 60));
		}
		else
		{
			k += (365 * (24 * 60));
		}
	}
	for (int i = 0; i <= yyyy2; i++)
	{
		if ((i % 4 == 0 && i % 100 != 0) || (i % 100 == 0 && i % 400 == 0))
		{
			j += (366 * (24 * 60));
		}
		else
		{
			j += (365 * (24 * 60));
		}
	}
	l = 1;
	while (1)
	{
		if (l > mm1)
		{
			break;
		}
		else if (l == 1 || l == 3 || l == 5 || l == 7 || l == 8 || l == 10 || l == 12)
		{
			k += (31 * (24 * 60));
		}
		else if (l == 2)
		{
			if ((yyyy1 % 4 == 0 && yyyy1 % 100 != 0) || (yyyy1 % 100 == 0 && yyyy1 % 400 == 0))
			{
				k += (29 * (24 * 60));
			}
			else
			{
				k += (28 * (24 * 60));
			}
		}
		else
		{
			k += (30 * (24 * 60));
		}
		l++;
	}
	l = 1;
	while (1)
	{
		if (l > mm2)
		{
			break;
		}
		else if (l == 1 || l == 3 || l == 5 || l == 7 || l == 8 || l == 10 || l == 12)
		{
			j += (31 * (24 * 60));
		}
		else if (l == 2)
		{
			if ((yyyy2 % 4 == 0 && yyyy2 % 100 != 0) || (yyyy2 % 100 == 0 && yyyy2 % 400 == 0))
			{
				j += (29 * (24 * 60));
			}
			else
			{
				j += (28 * (24 * 60));
			}
		}
		else
		{
			j += (30 * (24 * 60));
		}
		l++;
	}
	sort(a + 1, a + n + 1);
	for (int i = 1; i <= n; i++)
	{
		k += a[i];
		if (k > j)
		{
			break;
		}
		z++;
	}
	cout << z;
    return 0;
}
2024/8/31 12:51
加载中...