luogu部分题解

1068

#include<bits/stdc++.h>

using namespace std;

struct man
{
	int index;
	int score;
}p[5050];

bool cmp(man x, man y)
{
	if(x.score != y.score)
		return x.score > y.score;
	else
		return x.index < y.index;

}
int main()
{
	int m, n;
	cin >> m >> n;
	int ask = floor(1.5*n);
	for(int i = 0 ; i < m ; i++)
		scanf("%d%d",&p[i].index,&p[i].score);
	sort(p, p+m, cmp);

	int u = p[ask-1].score;
	int v = 0;
	for(int i = 0 ; i < m ; i++)
		if(p[i].score >= u)
			v++;

	printf("%d %d
",u,v);

	for(int i = 0 ; i < ask ; i++)
		printf("%d %d
",p[i].index,p[i].score);
	for(int i = ask ; i < m ; i++)
	{
		if(p[i].score == p[ask-1].score)
			printf("%d %d
",p[i].index,p[i].score);
		else return 0;
	}
	return 0;
}

1420

#include<bits/stdc++.h>

using namespace std;

int main()
{
    int p[10010];
    int n;
    cin >> n;
    int ans = 0;
    int max = 0;
    for(int i = 1 ; i <= n; i++)
        scanf("%d",&p[i]);
    for(int i = 1 ; i < n; i++)
    {
        if(p[i+1]-p[i] == 1)	
            ans++;
        else
            ans = 0;
        if(ans>max)
            max = ans;
    }
    cout << max+1 <<endl;
    return 0;
}
透过泪水看到希望
原文地址:https://www.cnblogs.com/ronnielee/p/9530079.html