列表

详情


NC230491. 龙职院卷怪争霸

描述

人比人,气死人;但是气不死卷怪,卷怪是不可能落榜的。cr最近参加了专升本考试测验选拔,比的是每个人的高数成绩。参加考试的人被从左到右排成一排,头都朝向左边,然后每个人会得到一个整数数值,表示这个人的数学水平,很显然整数越大,表示这个人越能卷,而且任意两人卷的程度可能一样。由于所有的人头都朝向左边,所以每个人只能看见在它左边的人的数学水平,它们心里都在计算,在自己的眼力范围内有多少人不如自己能卷。请你帮这些人计算一下。

输入描述

第一行输入一个整数 n,表示人的数量。
对于 100% 的数据,n ≤ 100。
第二行内输入 n 个整数a,用空格间隔,依次表示从左到右每个人的数学实力。

输出描述

行内输出 n 个整数,用空格间隔,依次表示每个人眼中有多少人不如自己能卷。

示例1

输入:

6
4 3 0 5 1 2

输出:

0 0 0 3 1 2

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 3ms, 内存消耗: 340K, 提交时间: 2022-01-15 16:03:30

#include<stdio.h>
main() 
{
	int i,j,k,n,a[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{   k=0;
		for(j=0;j<i;j++)
		if(a[j]<a[i]) k++;
		printf("%d ",k);
	}

}

C++ 解法, 执行用时: 3ms, 内存消耗: 312K, 提交时间: 2022-01-15 13:18:23

#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[105]={0},s=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
s=0;
for(int j=0;j<i;j++){
if(a[j]<a[i]) s++;
}
cout<<s<<" ";
}
return 0;
}

Python3 解法, 执行用时: 44ms, 内存消耗: 4528K, 提交时间: 2022-01-15 13:06:30

n=int(input())
a=list(map(int,input().split()))
for i in range(n):
    b=a[:i]
    print(len([j for j in b if j<a[i]]),end=' ')

上一题