求助:洛谷评测与本机测试答案不一致
查看原帖
求助:洛谷评测与本机测试答案不一致
232584
A_Function楼主2021/9/24 14:14

评测截图 本机截图

求助,为什么洛谷上面的评测与本机上的结果不一致 代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>

int dd[100100];
using namespace std;
int main(){
	int n=0;
	int f;
	cin>>f;
	
	while(cin.good()){
		dd[n]=f;
		n++;
		cin>>f;
	}
	
	
	vector<int> v;
	v.push_back(dd[0]);
	/*for(int i=0;i<v.size();i++){
		cout<<v[i]<<" ";
	}*/
	/*cout<<endl;*/
	for(int i=1;i<n;i++){
		if(dd[i]<=v[v.size()-1]){
			v.push_back(dd[i]);
			/*for(int j=0;j<v.size();j++){
				cout<<v[j]<<" ";
			}
			cout<<endl;*/
		}else if(dd[i]>v[0]){
			v[0]=dd[i];	
		}else{
			int p1=0,p2=v.size()-1;
			int mid=(p1+p2)/2;
			while(p1<mid){
				
				if(dd[i]>v[mid]){
					p2=mid;
				}else{
					p1=mid;
				}
				mid=(p1+p2)/2;
			}
			/*for(int j=0;j<v.size();j++){
				cout<<v[j]<<" ";
			}*/
			v[p2]=dd[i];
		}
	}
	cout<<v.size()<<endl;
	
	
	vector<int> vv;
	vv.push_back(dd[0]);
	/*for(int i=0;i<v.size();i++){
		cout<<v[i]<<" ";
	}*/
	/*cout<<endl;*/
	for(int i=1;i<n;i++){
		if(dd[i]>vv[vv.size()-1]){
			vv.push_back(dd[i]);
			/*for(int j=0;j<vv.size();j++){
				cout<<vv[j]<<" ";
			}
			cout<<endl;*/
		}else if(dd[i]<vv[0]){
			vv[0]=dd[i];	
		}else{
			int p1=0,p2=vv.size()-1;
			int mid=(p1+p2)/2;
			while(p1<mid){
				
				if(dd[i]<=vv[mid]){
					p2=mid;
				}else{
					p1=mid;
				}
				mid=(p1+p2)/2;
			}
			/*for(int j=0;j<vv.size();j++){
				cout<<vv[j]<<" ";
			}
			cout<<endl;*/
			vv[p2]=dd[i];
		}
	}
	cout<<vv.size()<<endl;
	/*
	for(int i=0;i<n;i++){
		for(int j=i-1;j>=0;j--){
			if(dd[i][0]<=dd[j][0]){
				dd[i][1]=max(dd[j][1]+1,dd[i][1]);
			}
		}
	}
	int maxn=-1;
	for(int i=0;i<n;i++){
		maxn=max(maxn,dd[i][1]);
	}
	cout<<maxn+1<<endl;
	for(int i=0;i<n;i++){
		for(int j=i-1;j>=0;j--){
			if(dd[i][0]>dd[j][0]){
				dd[i][2]=max(dd[i][2],dd[j][2]+1);
			}
			
			
		}
	}
	maxn=-1e9;
	for(int i=0;i<n;i++){
		maxn=max(maxn,dd[i][2]);
	}
	cout<<maxn+1;*/
	return 0;
}
2021/9/24 14:14
加载中...