算法问题,我的程序哪里出错了?在DevC++上可以运行,但提交acm就说我Runtime error。 5
题目描述有n个魔法师在排队买魔法面包,每个魔法师都有自己的魔力值,用一个正整数表示。魔法师都不喜欢排队,如果任意时刻某个魔法师发现前面的魔法师的魔力值比自己小,那么这个魔...
题目描述
有n个魔法师在排队买魔法面包,每个魔法师都有自己的魔力值,用一个正整数表示。 魔法师都不喜欢排队,如果任意时刻某个魔法师发现前面的魔法师的魔力值比自己小,那么这个魔法师就会用法术把前面的人传送到异空间。 请输出有多少个魔法师会被传送到异空间。
输入数据
第一行为一个正整数n,代表魔法师的人数。 接下来一行位n个正整数,第i个正整数ai代表队伍中第i个魔法师的魔力值。(第1个魔法师在队头,第n个魔法师在队尾) 1<=n<=1000000 1<=ai<=100000000
输出数据
被传送到异空间的魔法师个数
样例输入
5
4 5 1 3 2
样例输出
2
我的程序
#include<stdio.h>
long long a[100000000];
int main()
{
long long n,m=0;
scanf("%lld",&n);
for(int i = 0; i < n; i++){
scanf("%lld",&a[i]);
}
for(int j = n-1; j > 0; j--){
for(int i = j+1; i > 1; i--){
if(a[j] < a[i]){
m++;
break;
}
}
}
printf("%lld",m);
return 0;
} 展开
有n个魔法师在排队买魔法面包,每个魔法师都有自己的魔力值,用一个正整数表示。 魔法师都不喜欢排队,如果任意时刻某个魔法师发现前面的魔法师的魔力值比自己小,那么这个魔法师就会用法术把前面的人传送到异空间。 请输出有多少个魔法师会被传送到异空间。
输入数据
第一行为一个正整数n,代表魔法师的人数。 接下来一行位n个正整数,第i个正整数ai代表队伍中第i个魔法师的魔力值。(第1个魔法师在队头,第n个魔法师在队尾) 1<=n<=1000000 1<=ai<=100000000
输出数据
被传送到异空间的魔法师个数
样例输入
5
4 5 1 3 2
样例输出
2
我的程序
#include<stdio.h>
long long a[100000000];
int main()
{
long long n,m=0;
scanf("%lld",&n);
for(int i = 0; i < n; i++){
scanf("%lld",&a[i]);
}
for(int j = n-1; j > 0; j--){
for(int i = j+1; i > 1; i--){
if(a[j] < a[i]){
m++;
break;
}
}
}
printf("%lld",m);
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询