C++ 数据类型与 cout 输出
  • 板块学术版
  • 楼主封禁用户
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/7/4 08:22
  • 上次更新2023/11/4 18:51:32
查看原帖
C++ 数据类型与 cout 输出
271784
封禁用户楼主2021/7/4 08:22

昨天打比赛有一个疑惑,我的一题代码总是会莫名 WA 最后一个点,而对输出那行代码微调即 AC,但理应输出是一样的?
WA 点代码:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
typedef long long ll;
#define endl '\n'
ll t, n, m, k, s;
ll a[10000];
ll minn = 1e9;
int main()
{ 
	//freopen("input.in","r",stdin);
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	cin >> t;
	while (t--)
	{
		minn = 1e9;
		cin >> n >> m >> k >> s;
		for (ll i = 1; i <= n; i++)
		{
			cin >> a[i];
			minn = min(minn, a[i]);
		}
		if (minn <= s)
		{
			cout << "0";
		}
		else if (m == 0 and minn > s)
		{
			cout << "Impossible!";
		}
		else
		{
			cout << ceil((double)(minn - s) / m);
		}
		cout << endl;
	}
	return 0;
}

评测结果(最后一点: Wrong Answer. wrong answer On line 2 column 2, read ., expected 5.)
WA
AC 代码:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
typedef long long ll;
#define endl '\n'
ll t, n, m, k, s;
ll a[10000];
ll minn = 1e9;
int main()
{
	//freopen("input.in","r",stdin);
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	cin >> t;
	while (t--)
	{
		minn = 1e9;
		cin >> n >> m >> k >> s;
		for (ll i = 1; i <= n; i++)
		{
			cin >> a[i];
			minn = min(minn, a[i]);
		}
		if (minn <= s)
		{
			cout << "0";
		}
		else if (m == 0 and minn > s)
		{
			cout << "Impossible!";
		}
		else
		{
			cout << (int)(ceil((double)(minn - s) / m));
		}
		cout << endl;
	}
	return 0;
}

评测结果:
AC

2021/7/4 08:22
加载中...