关于Win与Linux系统差异的问题[c++]
  • 板块学术版
  • 楼主D_guard
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/4/5 15:40
  • 上次更新2023/10/28 04:32:18
查看原帖
关于Win与Linux系统差异的问题[c++]
557826
D_guard楼主2022/4/5 15:40

前情: 本蒟蒻参与本年noi-online提高组时爆零,后删除文件读写在洛谷提交得分15-20-20,教练查看代码后同样无果

问题: 经过上一个沉没帖,当前认为问题大抵出在系统差异上,现以题一为例,望大佬指出不兼容Linux处。

题目链接: P8251 丹钓战

蒟蒻代码:

#include <iostream>
#include <cstdio>
using namespace std;

const int MAX = 500000;
int n, q, l, r, ans, p, s[MAX+1][2];
struct byele{
    int a, b;
} newele[MAX];

void ask(byele x){
    while(p)
        if(s[p][0]!=x.a && s[p][1]>x.b){
            s[++p][0] = x.a;
            s[p][1] = x.b;
            return;
        }
        else    --p;
    ++ans;
    s[++p][0] = x.a;
    s[p][1] = x.b;  
    return;
}

int main(){
    freopen("stack.in","r",stdin);
    freopen("stack.out","w",stdout);
    scanf("%d%d", &n,&q);
    for(int i=0; i<n; ++i)
        scanf("%d", &newele[i].a);
    for(int i=0; i<n; ++i)
        scanf("%d", &newele[i].b);
    for(int k=0; k<q; ++k){
        p = 0;  ans = 0;
        scanf("%d%d", &l,&r);
        for(int i=l-1; i<r; ++i)
            ask(newele[i]);
        printf("%d\n", ans);
    }
    return 0;
}
2022/4/5 15:40
加载中...