求各位巨佬帮助
查看原帖
求各位巨佬帮助
368346
小明小红楼主2022/10/6 16:21

RT,50分

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,k,p[19],ans=0,s[109]; 
int main()
{
	cin>>k>>n;
	for(ll i=1;i<=n;i++)
	{
		cin>>s[i];
	}
	for(ll i=1;i<=n;i++)
	{
		ll flag=0,flag2=0;
		for(ll j=1;j<=k;j++)
		{
			if(p[j]==0)
			{
				flag=j;
			}
			if(s[i]==p[j])
			{
				flag2=1;
			}
		}
		if(flag2==0)
		{
			if(flag==0)
			{
				ans++;		
				ll flag3=0;
				ll minns=2147483647;
				ll vis[109];
				memset(vis,0,sizeof(vis));
				ll o;
				for(ll j=n;j>=i+1;j--)
				{
					for(ll l=1;l<=k;l++)
					{
						if(s[j]==p[l])
						{
							if(flag3==0)
							{
								flag3=1;
								o=l;
							}
							vis[l]=1;
						}
					}
				}	
				if(flag3==0)
				{
					 p[1]=s[i];
				}
				else
				{
					ll fff=0;
					for(ll z=1;z<=k;z++)
					{
						if(vis[z]==0)
						{
							fff=1;
							p[z]=s[i];
						}
					}
					if(fff==0)
					{
						p[o]=s[i];
					}
				}
			}
			else
			{
				p[flag]=s[i];
			}
		}
		//cout<<p[1]<<' '<<p[2]<<endl;
	}
	cout<<ans;
	return 0;
 } 

2022/10/6 16:21
加载中...