求助 CSP-S T4 n^2logn的巨暴力写法哪里错了
  • 板块学术版
  • 楼主YingLi
  • 当前回复13
  • 已保存回复13
  • 发布时间2020/11/8 18:54
  • 上次更新2023/11/5 08:26:39
查看原帖
求助 CSP-S T4 n^2logn的巨暴力写法哪里错了
116824
YingLi楼主2020/11/8 18:54

rt

总不会是题意模拟错了吧 ……真的感觉没问题啊。

考试给出的大样例3过不了,好几个点答案都比正解多1.小样例能过。

求求大佬帮忙看看QAQ

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#include<cmath>
#include<queue>
#define maxn 1000006
using namespace std;
typedef long long ll;
int read() {
	int x = 0, f = 1, ch = getchar();
	while(!isdigit(ch)) {if(ch == '-') f = -1; ch = getchar();}
	while(isdigit(ch)) x = (x << 1) + (x << 3) + ch - '0', ch = getchar();
	return x * f;
}

int n = 0, k, T, A[maxn], king[maxn];
struct node {int id, num;} a[maxn];
bool operator < (const node &x, const node &y) {return x.num == y.num? x.id > y.id : x.num > y.num;}
signed main() {
	freopen("snakes3.in", "r", stdin);
//	freopen("snakes.out", "w", stdout);
	T = read();
	while(T--) {
		k = read();
		if(!n) {
			n = k;
			for(int i = 1; i <= n; i++) A[i] = read();
		}
		else for(int i = 1, x, y; i <= k; i++) x = read(), y = read(), A[x] = y;
		memset(king, 0, sizeof king);
		
		register int ans = 1;
		for(int i = 1; i <= n; i++) a[i] = (node){i, A[i]};
		
		for(int i = n; i >= 2; i--) {
			sort(a + 1, a + 1 + i);
			ans = max(ans, king[a[i].id]);
			a[1].num -= a[i].num, king[a[1].id] = i;
		}
		printf("%d\n", ans);
	}
	return 0;
}
2020/11/8 18:54
加载中...