拳王争霸

问题 A: 拳王争霸
时间限制: 1 Sec 内存限制: 128 MB
题目描述
泽泽的爱好非常广泛,拳击比赛是他的爱好之一。电视里正在播放拳王争霸赛,n个人排成一排,他们进行拳击比赛,先让最前面两个人进行比赛,赢的人再和下面一个人比赛,输的人排到队伍的末尾。每一次比赛的结果是由比赛的两个人的能量确定,能量大的人胜(注:保证所有人的能量都不同,假设所有人的能量能瞬间恢复,精力一直是旺盛的)。大赛规定:只要能连续获胜 k 场的人将成为“拳王”。
输入
第一行输入两个整数n和k,分别表示总人数和需要连续获胜的次数。
第二行有n个整数,A_1,A_2,…,A_n(1<=A_i<=n),分别表示每个人的能量。
输出
输出一个整数,就是 “拳王”的能量。
样例输入 Copy
【样例1】
2 2
1 2

【样例2】
4 2
3 2 1 4

【样例3】
2 10000000000
2 1
样例输出 Copy
【样例1】
2

【样例2】
3

【样例3】
2
提示
【样例2解释】
有4个人参赛,只要能按比赛规定连续获得2次胜利,那个人就是拳王。
第1个人的能量是3,他先跟能量2打,能量3获得胜利,能量2排到队伍的末尾。能量3再跟能量1打,能量3继续获胜。 他连续两次获胜,所以他成为“拳王”。
【数据范围约定】
对于50%的数据,保证2<=k<=n。
对于100%的数据,保证 2<=n<=500,2<=k<=1000000000000。

#include <iostream>using namespace std;
long long int k;
int n;
//n也是数组的最大值
//遍历到n则为n
int a[505];
int maxa=0;
int main()
{cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];if(a[i]>maxa){maxa=a[i];}}for(int i=0;i<n;i++){if(a[i]==maxa){cout<<a[i];break;}int ans=0;int j=i+1;while(a[i]>a[j]){j++;ans++;if(ans>=k){cout<<a[i];return 0;}}}return 0;
}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平