Submission #1678996


Source Code Expand

//by yjz
#include<bits/stdc++.h>
using namespace std;
#define FF first
#define SS second
#define PB push_back
#define MP make_pair
#define bged(v) (v).begin(),(v).end()
#define foreach(it,s) for(__typeof((s).begin()) it=(s).begin();it!=(s).end();it++)
typedef long long ll;
const int Imx=2147483647;
const ll Lbig=2e18;
const int mod=1e9+7;
//My i/o stream
struct fastio
{
	char s[100000];
	int it,len;
	fastio(){it=len=0;}
	inline char get()
	{
		if(it<len)return s[it++];it=0;
		len=fread(s,1,100000,stdin);
		if(len==0)return EOF;else return s[it++];
	}
	bool notend()
	{
		char c=get();
		while(c==' '||c=='\n')c=get();
		if(it>0)it--;
		return c!=EOF;
	}
}_buff;
#define geti(x) x=getnum()
#define getii(x,y) geti(x),geti(y)
#define getiii(x,y,z) getii(x,y),geti(z)
#define puti(x) putnum(x),putchar(' ')
#define putii(x,y) puti(x),puti(y)
#define putiii(x,y,z) putii(x,y),puti(z)
#define putsi(x) putnum(x),putchar('\n')
#define putsii(x,y) puti(x),putsi(y)
#define putsiii(x,y,z) putii(x,y),putsi(z)
inline ll getnum()
{
	ll r=0;bool ng=0;char c;c=_buff.get();
	while(c!='-'&&(c<'0'||c>'9'))c=_buff.get();
	if(c=='-')ng=1,c=_buff.get();
	while(c>='0'&&c<='9')r=r*10+c-'0',c=_buff.get();
	return ng?-r:r;
}
template<class T> inline void putnum(T x)
{
	if(x<0)putchar('-'),x=-x;
	register short a[20]={},sz=0;
	while(x)a[sz++]=x%10,x/=10;
	if(sz==0)putchar('0');
	for(int i=sz-1;i>=0;i--)putchar('0'+a[i]);
}
inline char getreal(){char c=_buff.get();while(c==' '||c=='\n')c=_buff.get();return c;}
int n,m;
int a[311][311];
int it[311],cnt[311];
pair<int,int> getmx()
{
	int mx=0,mxid=0;
	for(int i=1;i<=m;i++)
	{
		if(cnt[i]>mx)mx=cnt[i],mxid=i;
	}
	return MP(mx,mxid);
}
bool del[311];
int main()
{
	getii(n,m);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			geti(a[i][j]);
		}
		it[i]=1;
		cnt[a[i][1]]++;
	}
	int ans=getmx().FF;
	while(true)
	{
		int x=getmx().SS;
		del[x]=1;
		for(int j=1;j<=n;j++)
		{
			while(it[j]<=m&&del[a[j][it[j]]])
			{
				cnt[a[j][it[j]]]--;
				it[j]++;
				cnt[a[j][it[j]]]++;
			}
			if(it[j]>m)
			{
				cout<<ans<<endl;
				return 0;
			}
		}
		ans=min(ans,getmx().FF);
	}
	return 0;
}

Submission Info

Submission Time
Task B - Sports Festival
User fizzydavid
Language C++14 (GCC 5.4.1)
Score 700
Code Size 2245 Byte
Status AC
Exec Time 3 ms
Memory 768 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 3
AC × 24
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 384 KB
subtask_1_03.txt AC 1 ms 384 KB
subtask_1_04.txt AC 1 ms 384 KB
subtask_1_05.txt AC 1 ms 384 KB
subtask_1_06.txt AC 2 ms 640 KB
subtask_1_07.txt AC 2 ms 640 KB
subtask_1_08.txt AC 1 ms 640 KB
subtask_1_09.txt AC 1 ms 640 KB
subtask_1_10.txt AC 1 ms 256 KB
subtask_1_11.txt AC 2 ms 384 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_13.txt AC 2 ms 512 KB
subtask_1_14.txt AC 3 ms 768 KB
subtask_1_15.txt AC 3 ms 768 KB
subtask_1_16.txt AC 3 ms 768 KB
subtask_1_17.txt AC 3 ms 768 KB
subtask_1_18.txt AC 3 ms 768 KB