惊险PE!!!
查看原帖
惊险PE!!!
743373
Vitamin_B楼主2024/5/28 15:57

Rt,洛谷没有PE只显示了WA,然后上了UVA发现竟然是Presentation error!!

求问PE是什么意思还有什么情况会PE,另外我用同一份代码AC了SP116,但是在这题就PE了,die码:

//# pragma GCC optimize("Ofast,no-stack-protector")
//
//# pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")

# include <bits/stdc++.h>

using namespace std;

typedef long long ll;

typedef pair <int, int> pii;

int t, n, m, x, y, z, dis[50005];

vector <pii> v[50005];

bitset <50005> vis;

queue <int> q;

int main () {

	ios::sync_with_stdio (0);

	cin.tie (0);

	cout.tie (0);

	cin >> t;

	while (t --) {

		cin >> n;

		for (int i = 1; i < 50003; ++ i)
			v[i].clear ();

		m = 0;

		while (n --) {

			cin >> x >> y >> z;

			v[x].push_back ({++ y, z});

			m = max (m, y);

		}

		++ m;

		v[0].push_back ({1, 0});

		for (int i = 1; i < m; ++ i)
			v[i].push_back ({i + 1, 0}), v[i + 1].push_back ({i, -1});

		fill (dis + 1, dis + 1 + m, -1e18), vis.reset ();

		q.push (0);

		while (! q.empty ()) {

			x = q.front ();

			q.pop ();
//		cerr << x << ':' << dis[x] << '\n';
			vis[x] = 0;

			for (pii& i : v[x])
				if (i.second + dis[x] > dis[i.first]) {

					dis[i.first] = dis[x] + i.second;

					if (! vis[i.first])
						q.push (i.first), vis[i.first] = 1;

				}

		}
//	for (int i = 1; i < n; ++ i) if (dis[i]) cerr << i << '\n';
		cout << dis[m] << '\n';

	}

	return 0;

}
2024/5/28 15:57
加载中...