80分求救
查看原帖
80分求救
947863
SHC_CENSORED楼主2024/7/17 10:40

提交记录

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"

const int N=1145; 
int n,m,ans=0,l=1,r;
int type[N],memory[N];

template<typename T>void read(T&x){
	int sign=0;x=0;char c;
	do{c=getchar();if(x=='-'){sign=-1;}}while(!isdigit(c));
	do{x=x*10+c-'0';c=getchar();}while(isdigit(c));x=x*sign;
}

int lenth(int l,int r){
	int lens=0;
	for(int i=l;i<=r;i++){
		if(memory[i]!=0){
			lens++;
		}
	}return lens;
}

bool find(int x,int l,int r){
	for(int i=l;i<=r;i++){
		if(memory[i]==x){
			return true;
		}
	}return false;
}
signed main(){
	freopen("1.in","r",stdin);
    cin>>n>>m;r=n;
    for(int i=1;i<=m;i++){
    	cin>>type[i];
	}
	for(int i=1;i<=m;i++){
		int len=lenth(l,r);
		bool pd=find(type[i],l,r);
		if(pd==false){
			if(len!=n){
				memory[++len]=type[i];
			}else{
				r++,l++;
				memory[r]=type[i];
			}
			
//			cout<<"-------------------"<endl;
//			cout<<"这是第"<<ans<<"次操作"<<endl;
//			cout<<"长度为"<<len<<"的时候"<<endl;
//			cout<<"此时l="<<l<<" "<<"r="<<r<<endl;
//			for(int j=l;j<=r;j++){
//				cout<<memory[j]<<" ";
//			}cout<<endl;
			ans++;
		}else{
			continue;
		}
	}cout<<ans;
    return 0;
}

一定会关

2024/7/17 10:40
加载中...