kmjp's blog

競技プログラミング参加記です

Codeforces #437 Div1 A. Save the problem!

レートは微増したしTシャツ圏内ではあるけど、しょうもないミスでもったいない。
http://codeforces.com/contest/866/problem/A

問題

整数Nが与えられる。

ある金額を硬貨で支払う際、払い方がN通りになるような最大M種類の硬貨の価値と、払いたい金額を答えよ。

解法

価値1と2の硬貨を用意すれば、金額(2*N-1)を支払う際2の硬貨の使い方が0~(N-1)のN通りに定まる。

int A;

void solve() {
	int i,j,k,l,r,x,y; string s;
	
	cin>>A;
	cout<<1+2*(A-1)<<" "<<2<<endl;
	cout<<1<<" "<<2<<endl;
}

まとめ

一瞬考えるけど落ち着くと簡単。