Submission #954728

#TimeUsernameProblemLanguageResultExecution timeMemory
954728LucaIlieMeasures (CEOI22_measures)C++17
59 / 100
343 ms5724 KiB
#include <bits/stdc++.h>

using namespace std;

vector<int> v;

int main() {
    int n, q, d;

    cin >> n >> q >> d;

    for ( int i = 0; i < n; i++ ) {
        int p;
        cin >> p;
        v.push_back( p );
    }

    long long minPart = 1e9, ansPart = 0;
    if ( q > 10 ) {
        for ( int i = 0; i < v.size(); i++ ) {
            ansPart = max( ansPart, (long long)d * i - v[i] - minPart );
            minPart = min( minPart, (long long)d * i - v[i] );
        }
    }

    for ( int i = 0; i < q; i++ ) {
        int p;
        cin >> p;

        long long minn = 1e9, ans = 0;
        if ( q > 10 ) {
            ansPart = max( ansPart, (long long)d * (n + i) - p - minPart );
            minPart = min( minPart, (long long)d * (n + i) - p );
            ans = ansPart;
        } else {
            v.push_back( p );
            sort( v.begin(), v.end() );

            for ( int i = 0; i < v.size(); i++ ) {
                ans = max( ans, (long long)d * i - v[i] - minn );
                minn = min( minn, (long long)d * i - v[i] );
            }
        }

        cout << ans / 2;
        if ( ans % 2 == 1 )
            cout << ".5";
        cout << " ";
    }

    return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:20:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |         for ( int i = 0; i < v.size(); i++ ) {
      |                          ~~^~~~~~~~~~
Main.cpp:39:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |             for ( int i = 0; i < v.size(); i++ ) {
      |                              ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...