LJX的校园:体育课

 

LJX的校园:体育课
难度级别:C; 运行时间限制:16ms; 运行空间限制:456KB; 代码长度限制:2000000B
试题描述
LJX特别特别特别喜欢上体育课,因为上体育课可以七(qie)窍(qie)生(si)烟(yu)。体育课总是可以自由活动。而当力大无穷的绿箭侠弄坏了足球以后,体育老师不单单罚绿箭侠跑10000圈,还从此让LJX他们班(也就是二年级(2)班)每天体育课上练习枯燥无味的队列了……今天,是LJX第一次上“新版”的体育课。体育老师让所有人站成一排。由于无聊,LJX就想在只有A+B的oj上出一道题:一堆人站成一排,由于体育老师太严格,大家都不敢回头。所以,每个人只能看见前面比自己矮的人,求所有人能看到其他人的人数之和。(LJX貌似应该排第一个,班平均身高0.8M)
输入
* 第一行:一个正整数N,表示一共有N个小盆友
* 第二行:N个正整数,表示N个小朋友的身高
输出
* 一个数:表示所有人能看到其他人的人数之和
输入示例
6
10 3 7 4 12 2
输出示例
5
其他说明
1≤N≤80,000
1≤hi≤1,000,000,000

 1 #include<iostream>
 2 using namespace std;
 3 int a[1000];
 4 int main()
 5 {
 6     int n,i,j,sum=0;
 7     cin>>n;
 8     for(i=0;i<n;i++) cin>>a[i];
 9     for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(a[i]>a[j]) sum++;else break;}}
10     cout<<sum;
11     return 0;
12 }

 这道题容易超时,我在oj上交了好几遍超时,

下面是超时的

#include<iostream>
using namespace std;
int a[100000000];
int main()
{
    int n,i,j,sum=0,cnt=0;
    cin>>n;
    for(i=0;i<n;i++) cin>>a[i];
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j]) sum++;
            else break;
        }
    }
    cout<<sum;
    return 0;
}

 

posted @ 2016-07-19 14:25  LZHEHE  阅读(257)  评论(0编辑  收藏  举报