Submission #580052

#TimeUsernameProblemLanguageResultExecution timeMemory
580052JosiaBoarding Passes (BOI22_passes)C++17
5 / 100
3 ms1680 KiB
#include <bits/stdc++.h>

using namespace std;

#define int int64_t

signed main() {
    cin.tie(0);
    ios_base::sync_with_stdio(0);

    string s; cin >> s;

    int n = s.size();

    cerr << n << "\n";

    vector<vector<int>> groups(26);

    for (int i = 0; i<n; i++) {
        groups[s[i]-'A'].push_back(i);
    }

    assert(n==groups[s[0]-'A'].size());

    int n1 = (n/2);
    int n2 = ((n+1)/2);

    long double res = (n1-1)*n1 + (n2-1)*n2;

    res /= 4;

    cout << setprecision(30) << res << "\n";

    return 0;
}

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from passes.cpp:1:
passes.cpp: In function 'int main()':
passes.cpp:23:13: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'std::vector<long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     assert(n==groups[s[0]-'A'].size());
      |            ~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...