提出 #74350855


ソースコード 拡げる

#include <bits/stdc++.h>
#include<math.h>
using namespace std;
typedef long double ld;
typedef long long ll;
typedef vector<long long> vll;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
//#define endl '\n'
ll mod = 1e9+7 ;
int p1 = 31 , p2 = 91 ;
ll mod1= 1e9+7 , mod2 = 1e9+9 ;
const double PI = acos(-1) ;
using cd = complex<double> ;
std::mt19937_64 rng(std::chrono::steady_clock::now().time_since_epoch().count());
struct base {
    double a, b;
    base(double a = 0, double b = 0) : a(a), b(b) {}
    const base operator + (const base &c) const
    { return base(a + c.a, b + c.b); }
    const base operator - (const base &c) const
    { return base(a - c.a, b - c.b); }
    const base operator * (const base &c) const
    { return base(a * c.a - b * c.b, a * c.b + b * c.a); }
};
void fft(vector<base> &p, bool inv = 0) {
    int n = p.size(), i = 0;
    for(int j = 1; j < n - 1; ++j) {
        for(int k = n >> 1; k > (i ^= k); k >>= 1);
        if(j < i) swap(p[i], p[j]);
    }
    for(int l = 1, m; (m = l << 1) <= n; l <<= 1) {
        double ang = 2 * PI / m;
        base wn = base(cos(ang), (inv ? 1. : -1.) * sin(ang)), w;
        for(int i = 0, j, k; i < n; i += m) {
            for(w = base(1, 0), j = i, k = i + l; j < k; ++j, w = w * wn) {
                base t = w * p[j + l];
                p[j + l] = p[j] - t;
                p[j] = p[j] + t;
            }
        }
    }
    if(inv) for(int i = 0; i < n; ++i) p[i].a /= n, p[i].b /= n;
}
vector<long long> multiply(vector<int> &a, vector<int> &b) {
    int n = a.size(), m = b.size(), t = n + m - 1, sz = 1;
    while(sz < t) sz <<= 1;
    vector<base> x(sz), y(sz), z(sz);
    for(int i = 0 ; i < sz; ++i) {
        x[i] = i < (int)a.size() ? base(a[i], 0) : base(0, 0);
        y[i] = i < (int)b.size() ? base(b[i], 0) : base(0, 0);
    }
    fft(x), fft(y);
    for(int i = 0; i < sz; ++i) z[i] = x[i] * y[i];
    fft(z, 1);
    vector<long long> ret(sz);
    for(int i = 0; i < sz; ++i) ret[i] = (long long) round(z[i].a);
    while((int)ret.size() > 1 && ret.back() == 0) ret.pop_back();
    return ret;
}

void solve() {
    int n ; cin >> n ;
    map<string,int> mp ;
    for(int i = 0; i < n; ++i) {
        string x ; cin >> x ;
        mp[x]++;
    }
    string ch ;
    int cnt = 0 ;
    for(auto it : mp) {
        if(it.second>=cnt) {
            ch = it.first ;
            cnt = it.second ;
        }
    }
    cout << ch << endl;

}




int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

提出情報

提出日時
問題 C - Election
ユーザ Code_Pro
言語 C++23 (GCC 15.2.0)
得点 200
コード長 2725 Byte
結果 AC
実行時間 1 ms
メモリ 3632 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 200 / 200
結果
AC × 3
AC × 14
セット名 テストケース
Sample sample_00.txt, sample_01.txt, sample_02.txt
All case_00.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, sample_00.txt, sample_01.txt, sample_02.txt
ケース名 結果 実行時間 メモリ
case_00.txt AC 1 ms 3552 KiB
case_01.txt AC 1 ms 3468 KiB
case_02.txt AC 1 ms 3632 KiB
case_03.txt AC 1 ms 3468 KiB
case_04.txt AC 1 ms 3604 KiB
case_05.txt AC 1 ms 3468 KiB
case_06.txt AC 1 ms 3468 KiB
case_07.txt AC 1 ms 3604 KiB
case_08.txt AC 1 ms 3604 KiB
case_09.txt AC 1 ms 3576 KiB
case_10.txt AC 1 ms 3632 KiB
sample_00.txt AC 1 ms 3552 KiB
sample_01.txt AC 1 ms 3604 KiB
sample_02.txt AC 1 ms 3552 KiB