Submission #901225


Source Code Expand

#include<vector>
#include<cmath>
#include<map>
#include<cstdlib>
#include<iostream>
#include<sstream>
#include<fstream>
#include<string>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<set>
#include<stack>
#include<bitset>
#include<functional>
#include<ctime>
#include<queue>
#include<deque>
#include<complex>
using namespace std;
#define pb push_back
#define pf push_front
typedef long long lint;
typedef complex<double> P;
#define mp make_pair
#define fi first
#define se second
typedef pair<int,int> pint;
#define All(s) s.begin(),s.end()
#define rAll(s) s.rbegin(),s.rend()
#define REP(i,a,b) for(int i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)
bool sumi[114514];
int a[114514],pos[114514],num[114514];
vector<int> v;
int main()
{
	int n,m,q,lo=0;
	scanf("%d %d",&m,&n);
	scanf("%d",&q);
	rep(i,q){
		scanf("%d",&a[i]);a[i]--;
	}
	for(int i=q-1;i>=0;i--){
		if(sumi[a[i]]) continue;
		v.pb(a[i]);sumi[a[i]]=true;
	}
	rep(i,n){
		if(!sumi[i]) v.pb(i);
	}
	//rep(i,n) cout<<v[i]<<' ';cout<<endl;
	rep(i,n) pos[v[i]]=i;
	int t=n-1;
	for(;t>0;t--){
		if(v[t]<v[t-1]) break;
	}
	//cout<<t<<endl;
	memset(num,0,sizeof(num));num[0]=m;
	int hi=0;
	for(int i=q-1;i>=0;i--){
		if(num[pos[a[i]]]>0){
			num[pos[a[i]]]--;
			num[pos[a[i]]+1]++;
			hi=max(hi,pos[a[i]]+1);
			//while(lo<n && num[lo]<1) lo++;
		}
		else if(hi<pos[a[i]]){
			cout<<"No"<<endl;return 0;
		}
	}
	rep(i,n){
		if(num[i]>0 && t>i){
			cout<<"No"<<endl;return 0;
		}
	}
	cout<<"Yes"<<endl;
}

Submission Info

Submission Time
Task E - LRU Puzzle
User sky58
Language C++14 (GCC 5.4.1)
Score 1200
Code Size 1549 Byte
Status AC
Exec Time 16 ms
Memory 2040 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:39:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&m,&n);
                      ^
./Main.cpp:40:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&q);
                ^
./Main.cpp:42:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);a[i]--;
                    ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1200 / 1200
Status
AC × 4
AC × 76
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt, 1_64.txt, 1_65.txt, 1_66.txt, 1_67.txt, 1_68.txt, 1_69.txt, 1_70.txt, 1_71.txt
Case Name Status Exec Time Memory
0_00.txt AC 3 ms 640 KB
0_01.txt AC 3 ms 640 KB
0_02.txt AC 3 ms 640 KB
0_03.txt AC 3 ms 640 KB
1_00.txt AC 3 ms 640 KB
1_01.txt AC 3 ms 640 KB
1_02.txt AC 13 ms 2040 KB
1_03.txt AC 13 ms 2040 KB
1_04.txt AC 13 ms 2040 KB
1_05.txt AC 13 ms 2040 KB
1_06.txt AC 15 ms 2040 KB
1_07.txt AC 15 ms 2040 KB
1_08.txt AC 15 ms 2040 KB
1_09.txt AC 15 ms 2040 KB
1_10.txt AC 14 ms 1660 KB
1_11.txt AC 14 ms 1660 KB
1_12.txt AC 14 ms 1660 KB
1_13.txt AC 14 ms 1660 KB
1_14.txt AC 14 ms 1660 KB
1_15.txt AC 14 ms 1660 KB
1_16.txt AC 14 ms 1660 KB
1_17.txt AC 14 ms 1660 KB
1_18.txt AC 15 ms 1912 KB
1_19.txt AC 15 ms 1660 KB
1_20.txt AC 15 ms 1912 KB
1_21.txt AC 15 ms 2040 KB
1_22.txt AC 15 ms 2040 KB
1_23.txt AC 15 ms 1912 KB
1_24.txt AC 15 ms 2040 KB
1_25.txt AC 15 ms 1784 KB
1_26.txt AC 12 ms 1152 KB
1_27.txt AC 11 ms 1024 KB
1_28.txt AC 12 ms 1152 KB
1_29.txt AC 12 ms 1152 KB
1_30.txt AC 14 ms 1784 KB
1_31.txt AC 16 ms 1912 KB
1_32.txt AC 13 ms 1660 KB
1_33.txt AC 14 ms 1912 KB
1_34.txt AC 14 ms 1408 KB
1_35.txt AC 14 ms 1660 KB
1_36.txt AC 13 ms 1408 KB
1_37.txt AC 14 ms 1532 KB
1_38.txt AC 15 ms 1912 KB
1_39.txt AC 15 ms 1912 KB
1_40.txt AC 15 ms 2040 KB
1_41.txt AC 16 ms 2040 KB
1_42.txt AC 12 ms 1152 KB
1_43.txt AC 12 ms 1152 KB
1_44.txt AC 12 ms 1152 KB
1_45.txt AC 12 ms 1152 KB
1_46.txt AC 13 ms 1408 KB
1_47.txt AC 13 ms 1532 KB
1_48.txt AC 13 ms 1536 KB
1_49.txt AC 15 ms 1912 KB
1_50.txt AC 12 ms 1152 KB
1_51.txt AC 12 ms 1152 KB
1_52.txt AC 12 ms 1280 KB
1_53.txt AC 13 ms 1152 KB
1_54.txt AC 14 ms 1912 KB
1_55.txt AC 12 ms 1532 KB
1_56.txt AC 15 ms 2040 KB
1_57.txt AC 15 ms 1912 KB
1_58.txt AC 11 ms 1024 KB
1_59.txt AC 11 ms 1152 KB
1_60.txt AC 11 ms 1024 KB
1_61.txt AC 11 ms 1152 KB
1_62.txt AC 12 ms 1536 KB
1_63.txt AC 12 ms 2040 KB
1_64.txt AC 12 ms 1408 KB
1_65.txt AC 14 ms 1912 KB
1_66.txt AC 11 ms 1024 KB
1_67.txt AC 11 ms 1024 KB
1_68.txt AC 11 ms 1024 KB
1_69.txt AC 11 ms 1024 KB
1_70.txt AC 13 ms 1912 KB
1_71.txt AC 14 ms 1784 KB