文章

11

粉丝

0

获赞

67

访问

1.1k

头像
骑车路线 题解:为什么只通过了25% 佬们
P1737 华东师范大学2021年机试题
发布于2025年3月9日 14:39
阅读数 76

#include <stdio.h>
int main(){
    int n;
    while(scanf("%d",&n) != EOF){
        int i;
        int a[10010] = {0};
        for(i=0;i<n;i++){
            scanf("%d ",&a[i]);
        }
        
        int max = 0;
        int j;
        for(i=0;i<n;i++){
            for(j=i+1;i<n;j++){
                if(a[j]>a[i] && (a[j]-a[i]) >= max){
                    max = a[j]-a[i];
          ...

登录查看完整内容


登录后发布评论

2 条评论
快乐小土狗
2025年3月9日 20:33

#include <stdio.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        int i;
        int a[10010] = {0};
        for (i = 0; i < n; i++) {
            // 去掉输入格式中的空格
            scanf("%d", &a[i]); 
        }

        int max = 0;
        int start = 0;
        for (i = 1; i < n; i++) {
            if (a[i] <= a[i - 1]) {
                // 如果当前元素不大于前一个元素,说明爬坡结束
                if (i - start >= 2) {
                    // 计算当前爬坡的高度差
                    int diff = a[i - 1] - a[start];
                    if (diff > max) {
                        max = diff;
                    }
                }
                // 开始新的爬坡
                start = i;
            }
        }
        // 处理最后一个爬坡
        if (n - start >= 2) {
            int diff = a[n - 1] - a[start];
            if (diff > max) {
                max = diff;
            }
        }
        printf("%d\n", max);
    }
    return 0;
}

赞(0)

Xsw777 : 回复 快乐小土狗: 感谢佬

2025年3月10日 09:30