Codeforces Round #380 (Div. 1, Rated, Based on Technocup 2017 – Elimination Round 2), problem: (D) Financiers Game Solution in C/C++

Hi Guys , I Just Tried to solve the Financiers Game problem , hope you might like it , please share if you’ve any better code .

 

#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <queue>
#include <algorithm>
#include <iomanip>
#include <map>
#include <set>
#include <math.h>
#include <stack>
#include <deque>
#include <numeric>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <bitset>
#include <functional>
#define mpair make_pair
#define all(v) v.begin(),v.end()
using namespace std;
typedef long long ll;
typedef long double ld;
const ld epsylon = 1e-9;

const std::string PROGRAM_NAME = “ivo”;

int mem[4001][90][90][2];

int n;
vector<int> a;

const int inf = 0x7f7f7f7f;

#define update(x, y, z, t) (mem[x][y][z][t] == inf ? solve(x, y, z, t) : mem[x][y][z][t])

vector<int> prefix;

inline int get(int from, int to) {
return prefix[to + 1] – prefix[from];
}

int solve(int from, int diff, int val, int player) {

int right_cut = from + diff;
if (player == 1) {
right_cut -= val;
}
int to = n – 1 – right_cut;

if (from + val – 1 > to) {
return mem[from][diff][val][player] = 0;
}
if (player == 0) {
int answer = update(from + val, diff, val, 1) + get(from, from + val – 1);
if (from + val <= to) {
answer = max(answer, update(from + val + 1, diff, val + 1, 1) + get(from, from + val));
}
return mem[from][diff][val][player] = answer;
} else {
int answer = update(from, diff, val, 0) – get(to – val + 1, to);
if (from + val <= to) {
answer = min(answer, update(from, diff + 1, val + 1, 0) – get(to – val, to));
}
return mem[from][diff][val][player] = answer;
}
}

int main() {
// freopen((PROGRAM_NAME + “.in”).c_str(), “r”, stdin);
// freopen((PROGRAM_NAME + “.out”).c_str(), “w”, stdout);

memset(mem, 0x7f, sizeof(mem));
cin >> n;
a.clear();
a.resize(n);
for (int i = 0; i < (int)a.size(); ++i) {
scanf(“%d”, &a[i]);
}

prefix.clear();
prefix.resize(n + 1);
prefix[0] = 0;
for (int i = 0; i < (int)a.size(); ++i) {
prefix[i + 1] = prefix[i] + a[i];
}
cout << solve(0, 0, 1, 0) << endl;
return 0;
}

THN Archive: A Flip...

In the world of professional hockey, few players have...

Father-Child AI Prompts: 10+...

As Father's Day approaches, many are looking beyond traditional...

Bunnings boss Michael Schneider...

The debate surrounding flexible working arrangements has reached a...

Scientists Discover Garnet on...

In a groundbreaking development for space exploration, an international...

Ciara Miller’s Return for...

For months, fans of Bravo’s hit reality series Summer...

10 Near-Perfect Beginner Anime...

For many newcomers, breaking into the world of anime...

THN Archive: A Flip Of The Subban Switch

In the world of professional hockey, few players have managed to capture the hearts of fans both on and off the ice quite like...

Father-Child AI Prompts: 10+ best prompts for royal family portraits, emotional masterpieces and stunning cinematic photo edits

As Father's Day approaches, many are looking beyond traditional gifts to find something unique and memorable. One of the most exciting trends this year...

Bunnings boss Michael Schneider warns Victoria’s work-from-home laws could divide employees

The debate surrounding flexible working arrangements has reached a boiling point in Australia, with Bunnings managing director Michael Schneider warning that Victoria's proposed work-from-home...

Scientists Discover Garnet on Mars for the First Time, Unlocking Clues to the Red Planet’s Ancient Past

In a groundbreaking development for space exploration, an international team of scientists has detected garnet on Mars for the first time. This unprecedented discovery...

Ciara Miller’s Return for ‘Summer House’ Season 11 Teased by Bravo Executive, He Thinks She’s the Future of the Show

For months, fans of Bravo’s hit reality series Summer House have been buzzing with speculation regarding the future of fan-favorite cast member Ciara Miller....

10 Near-Perfect Beginner Anime Movies No One Ever Talks About

For many newcomers, breaking into the world of anime can feel like a daunting task. With hundreds of episodes in popular series and unique...

Milky Mist updating books with FY26 numbers, to file UDRHP for IPO, says CEO Rathnam

Tamil Nadu-based dairy major Milky Mist is actively gearing up for its highly anticipated stock market debut. The company is currently in the process...

Rent Water Purifier in Delhi and Mumbai Gains Traction as Rentomojo Highlights Shift Away from High Upfront Costs and AMC Burden 2026

In major Indian metropolitan areas like Delhi and Mumbai, a significant consumer shift is underway. Traditional ownership of home appliances is increasingly being replaced...

Hepatitis A Outbreak in Canada Leaves 4 Dead, 142 Hospitalized; CDC Issues Travel Notice as Many Americans Traveling to Canada Remain Unvaccinated.

The Centers for Disease Control and Prevention (CDC) has officially issued a travel notice for Manitoba, Canada, following a severe Hepatitis A outbreak that...