Submission #4031221


Source Code Expand

using System;
using System.Collections.Generic;
using System.Linq;
class Program{
	const int mod=1000000007;
	static void Main(){
		int[] s=Array.ConvertAll(Console.ReadLine().Split(),int.Parse);
		int n=s[0],m=s[1],l=s[2],o=0,ans=0;
		int[] a=new int[n+1];
		bool[] b=new bool[n+1];
		int[] h1=new int[n+1];
		int h2=0;
		for(int i=0;i<l;i++){
			int[] q=Array.ConvertAll(Console.ReadLine().Split(),int.Parse);
			a[q[0]]=q[1];
			b[q[0]]=true;
		}
		for(int i=1;i<=n;i++){
			if(!b[i]){continue;}
			int q=i,p=0;
			while(b[q]){
				b[q]=false;
				q=a[q];
				p++;
			}
			if(q==i){h1[p]++;}
			else{h2+=p;}
			o=Math.Max(o,p);
		}

		if(n==l){
			if(m==1){ans=-1;}
			else{
				bool t=true;
				int j=o;
				while(t){
					int q=m;

					while(h1[j]==0&&j>1){j--;}
					if(j==1){break;}
					while(q>0){
						while(h1[j]==0&&j>1){j--;}
						if(j==1){t=false;break;}
						h1[j]--;
						if(j<=q){q-=j;}
						else{h1[j-q+1]++;q=0;}
					}
					ans+=10;
				}
			}
		}
		else{
			if(m==1){
				ans=h2*10;
				for(int i=o;i>0;i--){ans+=h1[i]*(i+1)*10;}
			}
			else{
				bool t=true;
				int j=2;
				while(t){
					int q=m;

					while(h1[j]==0&&j<=o){j++;}
					if(j>o&&h2<=0){break;}
					while(q>0){
						while(h1[j]==0&&j<=o){j++;}
						if(j>o){
							if(h2<=0){t=false;}
							h2-=q;
							break;
						}
						else if(h2>=q){h2-=q;break;}
						else{
							h1[j]--;
							if(j<=q){q-=j;}
							else{h2+=j-q+1;q=0;}
						}
					}
					ans+=10;
				}
			}
		}
		Console.WriteLine(ans);
	}
}

Submission Info

Submission Time
Task C - 席替え
User fgwiebfaoish
Language C# (Mono 4.6.2.0)
Score 0
Code Size 1592 Byte
Status WA
Exec Time 23 ms
Memory 13140 KB

Judge Result

Set Name small large
Score / Max Score 0 / 50 0 / 50
Status
AC × 33
WA × 6
AC × 90
WA × 10
Set Name Test Cases
small a_small/00_sample01, a_small/00_sample02, a_small/00_sample03, a_small/00_sample04, a_small/01_manual01, a_small/01_manual02, a_small/01_manual05, a_small/01_manual06, a_small/01_manual07, a_small/01_manual08, a_small/01_manual09, a_small/01_manual10, a_small/01_manual11, a_small/10_input00, a_small/10_input01, a_small/10_input02, a_small/10_input03, a_small/10_input04, a_small/10_input05, a_small/10_input06, a_small/10_input07, a_small/10_input08, a_small/10_input09, a_small/10_input10, a_small/10_input11, a_small/10_input12, a_small/10_input13, a_small/10_input14, a_small/10_input15, a_small/10_input16, a_small/10_input17, a_small/10_input18, a_small/10_input19, a_small/10_input20, a_small/10_input21, a_small/10_input22, a_small/10_input27, a_small/10_input29, a_small/10_input31
large a_small/00_sample01, a_small/00_sample02, a_small/00_sample03, a_small/00_sample04, a_small/01_manual01, a_small/01_manual02, a_small/01_manual05, a_small/01_manual06, a_small/01_manual07, a_small/01_manual08, a_small/01_manual09, a_small/01_manual10, a_small/01_manual11, a_small/10_input00, a_small/10_input01, a_small/10_input02, a_small/10_input03, a_small/10_input04, a_small/10_input05, a_small/10_input06, a_small/10_input07, a_small/10_input08, a_small/10_input09, a_small/10_input10, a_small/10_input11, a_small/10_input12, a_small/10_input13, a_small/10_input14, a_small/10_input15, a_small/10_input16, a_small/10_input17, a_small/10_input18, a_small/10_input19, a_small/10_input20, a_small/10_input21, a_small/10_input22, a_small/10_input27, a_small/10_input29, a_small/10_input31, b_large/20_input23, b_large/20_input24, b_large/20_input25, b_large/20_input26, b_large/20_input28, b_large/20_input30, b_large/20_input32, b_large/20_input33, b_large/20_input34, b_large/20_input35, b_large/20_input36, b_large/20_input37, b_large/20_input38, b_large/20_input39, b_large/20_input40, b_large/20_input41, b_large/20_input42, b_large/20_input43, b_large/20_input44, b_large/20_input45, b_large/20_input46, b_large/20_input47, b_large/20_input48, b_large/20_input49, b_large/20_input50, b_large/20_input51, b_large/20_input52, b_large/20_input53, b_large/20_input54, b_large/20_input55, b_large/20_input56, b_large/20_input57, b_large/20_input58, b_large/20_input59, b_large/20_input60, b_large/20_input61, b_large/20_input62, b_large/20_input63, b_large/20_input64, b_large/20_input65, b_large/20_input66, b_large/20_input67, b_large/20_input68, b_large/20_input69, b_large/20_input70, b_large/20_input71, b_large/20_input72, b_large/20_input73, b_large/20_input74, b_large/21_manual03, b_large/21_manual04, b_large/21_manual12, b_large/21_manual13, b_large/21_manual14, b_large/21_manual15, b_large/21_manual16, b_large/21_manual17, b_large/21_manual18, b_large/21_manual19, b_large/21_manual20, b_large/21_manual21
Case Name Status Exec Time Memory
a_small/00_sample01 AC 21 ms 9044 KB
a_small/00_sample02 AC 21 ms 9044 KB
a_small/00_sample03 AC 22 ms 11092 KB
a_small/00_sample04 AC 22 ms 11092 KB
a_small/01_manual01 AC 21 ms 9044 KB
a_small/01_manual02 AC 21 ms 9044 KB
a_small/01_manual05 AC 21 ms 9044 KB
a_small/01_manual06 AC 22 ms 11092 KB
a_small/01_manual07 AC 21 ms 9044 KB
a_small/01_manual08 AC 22 ms 11092 KB
a_small/01_manual09 AC 22 ms 11092 KB
a_small/01_manual10 AC 21 ms 9044 KB
a_small/01_manual11 AC 22 ms 11092 KB
a_small/10_input00 WA 21 ms 11092 KB
a_small/10_input01 WA 22 ms 11092 KB
a_small/10_input02 AC 21 ms 9044 KB
a_small/10_input03 WA 21 ms 9044 KB
a_small/10_input04 WA 22 ms 11092 KB
a_small/10_input05 AC 22 ms 9044 KB
a_small/10_input06 AC 22 ms 9044 KB
a_small/10_input07 AC 22 ms 9044 KB
a_small/10_input08 AC 23 ms 11092 KB
a_small/10_input09 AC 22 ms 11092 KB
a_small/10_input10 AC 22 ms 11220 KB
a_small/10_input11 AC 22 ms 9172 KB
a_small/10_input12 AC 22 ms 11092 KB
a_small/10_input13 WA 21 ms 9044 KB
a_small/10_input14 WA 21 ms 11092 KB
a_small/10_input15 AC 21 ms 11092 KB
a_small/10_input16 AC 21 ms 9044 KB
a_small/10_input17 AC 22 ms 13140 KB
a_small/10_input18 AC 21 ms 9044 KB
a_small/10_input19 AC 21 ms 11092 KB
a_small/10_input20 AC 22 ms 11092 KB
a_small/10_input21 AC 22 ms 9044 KB
a_small/10_input22 AC 21 ms 9044 KB
a_small/10_input27 AC 22 ms 11220 KB
a_small/10_input29 AC 22 ms 9044 KB
a_small/10_input31 AC 21 ms 9044 KB
b_large/20_input23 AC 22 ms 11092 KB
b_large/20_input24 AC 21 ms 9044 KB
b_large/20_input25 AC 22 ms 11092 KB
b_large/20_input26 WA 22 ms 11092 KB
b_large/20_input28 AC 22 ms 11092 KB
b_large/20_input30 AC 22 ms 11092 KB
b_large/20_input32 AC 22 ms 11092 KB
b_large/20_input33 WA 22 ms 11092 KB
b_large/20_input34 AC 21 ms 9044 KB
b_large/20_input35 AC 22 ms 11092 KB
b_large/20_input36 AC 22 ms 9044 KB
b_large/20_input37 AC 21 ms 9044 KB
b_large/20_input38 AC 21 ms 9172 KB
b_large/20_input39 AC 21 ms 9044 KB
b_large/20_input40 AC 22 ms 9044 KB
b_large/20_input41 AC 22 ms 11092 KB
b_large/20_input42 WA 22 ms 13140 KB
b_large/20_input43 AC 21 ms 11092 KB
b_large/20_input44 AC 21 ms 9044 KB
b_large/20_input45 AC 22 ms 11092 KB
b_large/20_input46 AC 22 ms 11092 KB
b_large/20_input47 WA 22 ms 11092 KB
b_large/20_input48 AC 22 ms 9044 KB
b_large/20_input49 AC 21 ms 9044 KB
b_large/20_input50 AC 21 ms 11092 KB
b_large/20_input51 AC 22 ms 11092 KB
b_large/20_input52 AC 21 ms 9044 KB
b_large/20_input53 AC 21 ms 9044 KB
b_large/20_input54 AC 22 ms 9172 KB
b_large/20_input55 AC 22 ms 11092 KB
b_large/20_input56 AC 21 ms 9172 KB
b_large/20_input57 AC 21 ms 9172 KB
b_large/20_input58 AC 21 ms 9044 KB
b_large/20_input59 AC 22 ms 11092 KB
b_large/20_input60 AC 22 ms 13140 KB
b_large/20_input61 AC 22 ms 11092 KB
b_large/20_input62 AC 22 ms 9044 KB
b_large/20_input63 AC 22 ms 11092 KB
b_large/20_input64 AC 22 ms 11092 KB
b_large/20_input65 AC 22 ms 11092 KB
b_large/20_input66 AC 22 ms 11092 KB
b_large/20_input67 AC 22 ms 11092 KB
b_large/20_input68 AC 22 ms 11092 KB
b_large/20_input69 AC 22 ms 11092 KB
b_large/20_input70 AC 21 ms 9044 KB
b_large/20_input71 AC 21 ms 9044 KB
b_large/20_input72 AC 22 ms 9044 KB
b_large/20_input73 AC 21 ms 9044 KB
b_large/20_input74 AC 22 ms 9044 KB
b_large/21_manual03 AC 21 ms 9172 KB
b_large/21_manual04 AC 22 ms 9044 KB
b_large/21_manual12 AC 22 ms 11092 KB
b_large/21_manual13 AC 22 ms 11092 KB
b_large/21_manual14 AC 22 ms 11092 KB
b_large/21_manual15 AC 22 ms 11092 KB
b_large/21_manual16 AC 21 ms 9044 KB
b_large/21_manual17 AC 22 ms 11092 KB
b_large/21_manual18 AC 21 ms 9044 KB
b_large/21_manual19 AC 21 ms 9044 KB
b_large/21_manual20 AC 21 ms 11092 KB
b_large/21_manual21 AC 21 ms 9044 KB