关于文件读写的问题[C++]
  • 板块学术版
  • 楼主D_guard
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/3/31 16:45
  • 上次更新2023/10/28 05:04:50
查看原帖
关于文件读写的问题[C++]
557826
D_guard楼主2022/3/31 16:45

前情:

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

可能的问题:

1.在本地测试时,运行代码后生成了名为 gmon.out 的文件,后在教练的机子上运行没有该情况

2.或许是操作系统差异导致的错误

题目链接: 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/3/31 16:45
加载中...