1, 题目描述:
A. Mishka 和竞赛。
M准备参加一个程序设计比赛,在竞赛中一共有n个题目,M的解决题目能力是k。
M把所有竞赛中的问题列成一张表。由于他自己特殊的原则,M每次只从列表的末尾
选择题目做题。每一次他从列表的最左边或者最右边选择题目。因此,每一个M选择的题目要么是最左边的要么是最右边的。
M不可以解决超过k的题目。M解决了一个问题,它将会从列表中消失。所以列表的长度会减少1。当两边的问题他都不能解决时他就停止。
他可以解决多少问题?
输入:
第一行包括n和k(1<=n,k<=100)竞赛中的问题,M的解决问题的能力。
第二行包括那个整数:a1,a2,…..an(1<=ai<=100).ai是第i个题目的难度。列表中所有的问题从左到右。
输出:
输出一个整数——M可以解决的最大的数量。
2,题目链接: ##http://codeforces.com/contest/999/problem/A
3,通过的代码:
#include<iostream>
using namespace std;
int main(){
int n,k;cin>>n>>k;
int a[1002];int ans=0;
for(int i=1;i<=n;i++)cin>>a[i];
int i,j;
for(i=1;i<=n;i++)if(k>=a[i])ans++;else break;
for(j=n;j>=i;j--)if(k>=a[j])ans++;else break;
cout<<ans<<endl;
}

在一场包含n个难度不等题目的程序设计比赛中,Mishka遵循特定规则选择并解答题目。每次从列表的最左或最右选择不超过其解决能力k的题目解答,直至无法继续。本文提供了一个算法来确定Mishka最多能解答多少题目。
121

被折叠的 条评论
为什么被折叠?



