这代码没问题吧
查看原帖
这代码没问题吧
1401746
Existence楼主2024/10/26 20:57
#include<bits/stdc++.h>

#define Code using
#define by namespace
#define Trailblazer std 

Code by Trailblazer;

#define my_wife 0 
#define Seele my_wife 

#define ll long long
#define mem(a, b) memset(a, b, sizeof(a))
#define rep(i, l, r) for(int i = l; i <= r; ++ i) 
#define per(i, l, r) for(int i = l; i >= r; -- i) 
#define File(X) freopen(X".in", "r", stdin), freopen(X".out", "w", stdout) 

const int N = 2e5 + 5; 
int ans;
int a[N], used[N];

int main()
{
	//File("duel");
	
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	
    int n, maxn = 0;
    cin >> n;

	rep (i, 1, n)
	{
		int x;
		cin >> x;
		++ a[x];
		maxn = max(maxn, x);
	}

	rep (i, 1, maxn)
	{
		int ptr = 1;
		
		while (a[i])
		{
			if (i + ptr > maxn)
			{
				break;
			}
			
			if (used[i + ptr] < a[i + ptr])
			{
				-- a[i];
				++ used[i + ptr];
			}
			else
			{
				++ ptr;
			}
		}
	}
	
	rep (i, 1, maxn)
	{
		ans += a[i];
	}
	
	cout << ans;

    return Seele;
}

考场上只写出这道题。。。

另:第二题两个数字为啥不分开给分啊!!!

2024/10/26 20:57
加载中...