Sponsors

Codeforces Round #385 (Div. 2), problem: (E) Hongcow Buys a Deck of Cards Solution in C/C++

#include<bits/stdc++.h>
using namespace std;

const int maxn=16,INF=0x3f3f3f3f;
char type[maxn];
int R[maxn],B[maxn];

char readchar() {
	for(;;) {
		char ch=getchar();
		if(!isspace(ch)) {
			return ch;
		}
	}
}

int n;

typedef pair<int,int> pii;
typedef set<pii> Spii;
Spii dp[1<<maxn];

void Insert(Spii& s,const pii& p) {
	Spii::iterator it=s.lower_bound(p);
	if(it==s.begin()||(--it)->second>p.second) {
		s.insert(p);
		it=s.upper_bound(p);
		while(it!=s.end()&&it->second>=p.second) {
			s.erase(it++);
		}
	}
}

void DP(int s) {
	Spii& res=dp[s];
	if(res.size()) {
		return;
	}
	if(s==0) {
		res.insert(make_pair(0,0));
		return;
	}
	int curR=0,curB=0;
	for(int i=0;i<n;i++) {
		if(!((s&(1<<i)))) {
			if(type[i]=='R') {
				curR++;
			} else {
				curB++;
			}
		}
	}
	for(int i=0;i<n;i++) {
		if(s&(1<<i)) {
			DP(s&(~(1<<i)));
			Spii& tmp=dp[s&(~(1<<i))];
			for(Spii::iterator it=tmp.begin();it!=tmp.end();it++) {
				Insert(res,make_pair(it->first+max(0,R[i]-curR),it->second+max(0,B[i]-curB)));
			}
		}
	}
}

int main() {
	cin>>n;
	for(int i=0;i<n;i++) {
		type[i]=readchar();
		cin>>R[i]>>B[i];
	}
	DP((1<<n)-1);
	int ans=INF;
	Spii& res=dp[(1<<n)-1];
	for(Spii::iterator it=res.begin();it!=res.end();it++) {
		ans=min(ans,max(it->first,it->second)+n);
	}
	cout<<ans<<endl;
	return 0;
}

Can octopus get attached...

Do Octopuses Form Genuine Bonds with Humans? The Nuanced...

News From Nancy 1/9/2026...

Five Years After the Insurrection: Reflecting on January 6th...

OpenAI Hires Co-Founders of...

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI...

Do ferrets cough up...

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many...

Lenovo goes all in...

Lenovo's AI Leap at CES 2026: The Future Is...

Why 99% of scientists...

The Unanimous Truth: Why 99% of Scientists Believe in...

Can octopus get attached to humans?

Do Octopuses Form Genuine Bonds with Humans? The Nuanced Answer The question of whether an octopus can genuinely attach itself to a human has captivated...

News From Nancy 1/9/2026 — Save Our Health Care

Five Years After the Insurrection: Reflecting on January 6th and the Fight for Health Care The latest update from the “News From Nancy” series, dated...

OpenAI Hires Co-Founders of AI-Powered Tool Convogo

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI Coaching and HR The global race for top artificial intelligence talent continues to heat up, and...

Do ferrets cough up hairballs?

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many small pet owners, the sight or sound of a cat coughing up a hairball is...

Lenovo goes all in on AI with concepts at CES 2026

Lenovo's AI Leap at CES 2026: The Future Is Conceptual CES is renowned for launching the must-have gadgets of the year, but the annual tech...

Why 99% of scientists believe in evolution

The Unanimous Truth: Why 99% of Scientists Believe in Evolution In the public discourse, the debate between evolutionary theory and creationism often appears balanced. However,...

Charles Cross agrees to four-year extension with Seahawks

Charles Cross Secures Future with Massive Four-Year Extension with Seahawks The Seattle Seahawks organization demonstrated its commitment to building a formidable foundation by securing one...

Samsung Display Unveils New OLED Tech for Robots & Wearables at CES 2026

Samsung Display Prepares to Dazzle CES 2026 with Next-Gen OLED Innovations As the tech world gears up for CES 2026, all eyes are turning toward...

What do male octopus do after mating?

The Fateful Finale: What Happens to Male Octopuses After Mating? The ocean is home to countless wonders, but few natural phenomena are as dramatically tragic...