結果

問題 No.15 カタログショッピング
コンテスト
ユーザー id-ord
提出日時 2026-01-11 22:48:13
言語 C++23
(gcc 15.2.0 + boost 1.89.0)
結果
WA  
実行時間 -
コード長 647 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,598 ms
コンパイル使用メモリ 174,888 KB
実行使用メモリ 9,728 KB
最終ジャッジ日時 2026-01-11 22:48:17
合計ジャッジ時間 3,304 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 10
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <iostream>
#include <vector>
#include <map>
int main(){
	int64_t N,S;std::cin>>N>>S;std::vector<int64_t> P(N);for(auto& p:P)std::cin>>p;
	int l=N/2,r=N-l;
	std::multimap<int64_t,int> m1,m2;
	for(int i=0;i<(1<<l);i++){int64_t sum=0;for(int b=0;b<l;b++)if(i&(1<<b))sum+=P[b];m1.emplace(sum,i);}
	for(int i=0;i<(1<<r);i++){int64_t sum=0;for(int b=0;b<r;b++)if(i&(1<<b))sum+=P[l+b];m2.emplace(sum,i);}
	for(auto&& [k,v]:m1){
		auto [i1,i2]=m2.equal_range(S-k);
		for(;i1!=i2;i1++){
			for(int b=0;b<l;b++)if(v&(1<<b))std::cout<<b+1<<' ';
			for(int b=0;b<r;b++)if(i1->second&(1<<b))std::cout<<i1->second+1+l<<' ';
		}
		std::cout<<'\n';
	}
}
0