夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

539〜

まだratedしてませんがエディタが混み合っているので書きます。
xox 48th
でした。
フォーティーエイト!!!!

PlatypusPaternity

よくわかんなかった
TopReader
WAコード↓

class PlatypusPaternity {
public:
    int maxFamily( vector <string> female, vector <string> male, vector <string> sibling ) {
        int fs=female.size(), ms=male.size(), ss=sibling.size(), clen=female[0].length();
        int res=0;
        for (int i=0; i<fs; i++) {
            for (int j=0; j<ms; j++) {
                for (int k=0; k<ss; k++) {
                    int cnt=0;
                    bool flag=true;
                    for (int l=0; l<clen; l++) {
                        if (female[i][l]==male[j][l]&&male[j][l]==sibling[k][l]&&female[i][l]=='Y') {
                            cnt++;
                        } else if (sibling[k][l]=='Y'&&(female[i][l]=='N'||male[j][l]=='N')) {
                            flag=false;
                        }
                    }
                    if (flag&&cnt!=0) cnt+=2;
                    res=max(res,cnt);
                }
            }
        }
        return res;
    }
};

Over9000Rocks

n<=15なので2^15通りを全列挙して9000とかの取り扱いなどなどに注意しながら区間をマージして数えたり。
最初全列挙の部分を再帰でやったら最大ケースでなんかバグったのでbit列挙に変えてAC

class Over9000Rocks {
public:
    // lower<=X<=upper
    int sz;
    vector<P> res;
    vector<int> low, up;
    bool used[15];
    void dfs(int l, int u, int cnt) {
        if (cnt==sz) {
            if (l>9000||u>9000) res.push_back(P(l,u));
            return;
        }
        for (int i=0; i<sz; i++) {
            if (!used[i]) {
                used[i]=true;
                dfs(l+low[i],u+up[i],cnt+1);
                dfs(l,u,cnt+1);
                used[i]=false;
            }
        }
    }
    int countPossibilities( vector <int> lowerBound, vector <int> upperBound ) {
        low=lowerBound; up=upperBound;
        sz=low.size();
        memset(used, 0, sizeof(used));
        // dfs(0,0,0);
        for (int i=0; i<(1<<sz); i++) {
            int l=0, u=0;
            for (int j=0; j<sz; j++) {
                if (i>>j&1) {
                    l+=low[j];
                    u+=up[j];
                }
            }
            if (l>9000||u>9000) res.push_back(P(l,u));
        }
        sort(res.begin(), res.end());
        vector<P> r;
        int px=-1;
        for (int i=0; i<res.size(); i++) {
            if (px==-1) {
                r.push_back(res[i]);
                px=0;
            } else {
                P p=r[px];
                if (p.first<=res[i].first&&res[i].first<=p.second) {
                    r[px].second=max(p.second,res[i].second);
                } else {
                    r.push_back(res[i]);
                    px++;
                }
            }
        }
        int res=0;
        for (int i=0; i<r.size(); i++) {
            if (r[i].first<=9000) res+=r[i].second-9000;
            else res+=r[i].second-r[i].first+1;
        }
        return res;
    }
};

CaptureFish

まさかのJeipoujuさん登場
だれだwriter
とりあえず嘘解法送ったら結局落とされたけど他人の得点を落とすという点で貢献してくれてた
WAコード

class CaptureFish {
public:
    int getParity( string fish ) {
        int cnt=0;
        for (int i=0; i<fish.size(); i++) if (fish[i]=='O') cnt++;
        if (cnt&1) return 0;
        else return 1;
    }
};

あーーー

Medium通したらEasy落としちゃうのどうにかなりませんかね(笑)