답안 #1036861

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1036861 2024-07-27T18:06:52 Z anango Boarding Passes (BOI22_passes) C++17
60 / 100
2000 ms 252156 KB
#include <bits/stdc++.h>
#define int long long
using namespace std;
#define o 0
#define push_front push_back
int INF = 1LL<<62;
 
void solve() {
 
    string S; cin >> S;
    int n = S.size();
    vector<int> ar(n); for (int i=0; i<n; i++) ar[i] = (S[i]-'A');
    int G = *max_element(ar.begin(), ar.end()); G++;
    int pref[n+1][G]; //count of character c, before index i
    int suff[n+1][G]; //count of character c, after or equal to index i
    for (int i=0; i<=n; i++) {
        for (int j=0; j<G; j++) {
            pref[i][j] = suff[i][j] = 0;
        }
    }
    for (int i=0; i<n; i++) {
        for (int j=0; j<G; j++) {
            if (j==ar[i]) {
                pref[i+1][j] = pref[i][j]+1;
            }
            else {
                pref[i+1][j] = pref[i][j];
            }
        }
    }
    
    for (int i=n-1; i>=0; i--) {
        for (int j=0; j<G; j++) {
            if (j==ar[i]) {
                suff[i][j] = suff[i+1][j]+1;
            }
            else {
                suff[i][j] = suff[i+1][j];
            }
        }
    }
    //everyone before L boards from the front, everyone after or equal to it boards from the back. 
    vector<vector<int>> counts(G,vector<int>(G,0));     //counts[i][j] = sum of subsequences of (i,j) before l, and subsequences of (j,i) after L
    //counts[i][j] = sum of pref[k][j] for k<=L and ar[k]=i, and analogous expression for the suffix
    //first, get initial count values (for everyone boarding from the back)
    //and assuming that these are already boarded since the back breaker may not be the same for each group - that was false assumption
    //so precomp counts then ternary search on the breakpoint
    for (int j=0; j<G; j++) {
        for (int k=0; k<n; k++) {
            int i = ar[k];
            //cout << "adding " << i <<" " << j <<" " << k <<" " << j << " " << suff[k][j] << endl;
            counts[i][j] += suff[k+1][j];
        }
    }
    vector<vector<vector<int>>> acounts;
    acounts.push_back(counts);
    for (int L=0; L<n; L++) {
 
        //counts[i][j] = number of swaps required if i goes after j
 
 
 
        //transfer L to the right
        int cur = ar[L];
        for (int j=0; j<G; j++) {
            int delta = suff[L+1][j];
            int delta2 = pref[L][j];
            counts[cur][j] -= delta-delta2;
        }
        acounts.push_back(counts);
        
        /*cout << "TRANSFERRED TO " << L+1 << endl;
        for (int i=0; i<G; i++) {
            for (int j=0; j<G; j++) {
                cout << i <<" " << j <<" " << counts[i][j] << endl;
            }
        }
        cout << endl;*/
    }
    //acounts[breakpoint][group_1][group_2]
    //ABCABCAA

    vector<int> dp;
    vector<vector<int>> indices(G);
    for (int i=0; i<n; i++) {
        indices[ar[i]].push_back(i);
    }
    for (int i=0; i<G; i++) {
        if (indices[i].size()==0) continue;
        if (indices[i].front()!=0) indices[i].push_front(0);
        if (indices[i].back()!=n-1) {
            indices[i].push_back(n-1);
        }
    }
    for (int i=0; i<G; i++) {
        sort(indices[i].begin(), indices[i].end());
    }
    dp=vector<int>(1<<G,INF); //dp[mask] = min cost if this mask is at the beginning of the ordering
    dp[0] = 0;
    for (int mask=0; mask<1<<G; mask++) {
        for (int addon=0; addon<G; addon++) {
            if (mask&(1<<addon)) continue;
            if (indices[addon].size()==0) { 
                dp[mask | (1<<addon)] = min(dp[mask | (1<<addon)],dp[mask]+o);
                continue;
            }
            int l = 0; int r = indices[addon].size(); r--;
            int mi = 1LL<<62;
            while (l<r-1) {
                //cout << l << " " << r << endl;
                //cout << indices[addon][l] <<" " << indices[addon][r] << endl;
                int m1,m2;
                if (r-l>0) {
                    m1 = l+(r-l)/3;
                    m2 = r-(r-l)/3;
                }
                else {
                    m1 = l;
                    m2 = r;
                }
                m1=l; m2=r;
                int am1 = 0;
                for (int j=0; j<G; j++) {
                    if (mask&(1<<j)) {
                        am1+=2*acounts[indices[addon][m1]][addon][j];
                    }
                    if (j==addon) {
                        am1+=acounts[indices[addon][m1]][addon][j];
                    }
                }
                int am2 = 0;
                for (int j=0; j<G; j++) {
                    if (mask&(1<<j)) {
                        am2+=2*acounts[indices[addon][m2]][addon][j];
                    }
                    if (j==addon) {
                        am2+=acounts[indices[addon][m2]][addon][j];
                    }
                }
                mi = min(mi,min(am1,am2));
                //cout << "adding " << mask <<" " << addon <<" " << l <<" " << r <<" " << m1 <<" " << m2 <<" " << am1 <<" " << am2 << endl;
                if (am1>am2) {
                    l=m1+1; r=r;
                }
                else if (am1<am2) {
                    l=l; r=m2-1;
                }
                else {
                    l=m1+1; r=m2;
                }
                //cout << mask <<" " << addon <<" " << al <<endl;
            }
            int al = 0;
            for (int j=0; j<G; j++) {
                if (mask&(1<<j)) {
                    al+=2*acounts[indices[addon][l]][addon][j];
                }
                if (j==addon) {
                    al+=acounts[indices[addon][l]][addon][j];
                }
            }
            dp[mask | (1<<addon)] = min(dp[mask | (1<<addon)],dp[mask]+al);
            if (l+1==indices[addon].size()) {
                continue;
            }
            al = 0;
            for (int j=0; j<G; j++) {
                if (mask&(1<<j)) {
                    al+=2*acounts[indices[addon][l+1]][addon][j];
                }
                if (j==addon) {
                    al+=acounts[indices[addon][l+1]][addon][j];
                }
            }
            dp[mask | (1<<addon)] = min(dp[mask | (1<<addon)],dp[mask]+al);
        }
    }
    int ans=dp[(1<<G)-1];
 
    int a2 = ans/2;
    cout << a2;
    if (ans%2==1) cout << ".50";
    cout << endl;
}
 
signed main() {
    int local=0;
    if (local) {
        // for getting input from input.txt
        freopen("input.txt", "r", stdin);
        // for writing output to output.txt
        freopen("output.txt", "w", stdout);
    }
    /*#ifdef ONLINE_JUDGE
    	ios_base::sync_with_stdio(false);
    	cin.tie(NULL);
    #endif*/ //fast IO
    solve();
    
}

Compilation message

passes.cpp: In function 'void solve()':
passes.cpp:163:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  163 |             if (l+1==indices[addon].size()) {
      |                 ~~~^~~~~~~~~~~~~~~~~~~~~~~
passes.cpp: In function 'int main()':
passes.cpp:190:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  190 |         freopen("input.txt", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
passes.cpp:192:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
  192 |         freopen("output.txt", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB found '100800.5000000000', expected '100800.5000000000', error '0.0000000000'
2 Correct 0 ms 348 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
3 Correct 0 ms 348 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
4 Correct 0 ms 344 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
5 Correct 1 ms 348 KB found '124002.0000000000', expected '124002.0000000000', error '0.0000000000'
6 Correct 14 ms 10796 KB found '772893586.0000000000', expected '772893586.0000000000', error '0.0000000000'
7 Correct 16 ms 12428 KB found '1100977812.5000000000', expected '1100977812.5000000000', error '0.0000000000'
8 Correct 17 ms 13292 KB found '1249950000.5000000000', expected '1249950000.5000000000', error '0.0000000000'
9 Correct 18 ms 13068 KB found '1249975000.0000000000', expected '1249975000.0000000000', error '0.0000000000'
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
2 Correct 0 ms 348 KB found '1225.0000000000', expected '1225.0000000000', error '0.0000000000'
3 Correct 0 ms 348 KB found '1023.0000000000', expected '1023.0000000000', error '0.0000000000'
4 Correct 0 ms 344 KB found '294.0000000000', expected '294.0000000000', error '0.0000000000'
5 Correct 1 ms 348 KB found '1087.0000000000', expected '1087.0000000000', error '0.0000000000'
6 Correct 0 ms 348 KB found '1.5000000000', expected '1.5000000000', error '0.0000000000'
7 Correct 1 ms 348 KB found '703.0000000000', expected '703.0000000000', error '0.0000000000'
8 Correct 1 ms 348 KB found '55.5000000000', expected '55.5000000000', error '0.0000000000'
9 Correct 1 ms 348 KB found '56.0000000000', expected '56.0000000000', error '0.0000000000'
10 Correct 0 ms 348 KB found '45.0000000000', expected '45.0000000000', error '0.0000000000'
11 Correct 0 ms 348 KB found '66.5000000000', expected '66.5000000000', error '0.0000000000'
12 Correct 0 ms 348 KB found '67.0000000000', expected '67.0000000000', error '0.0000000000'
13 Correct 1 ms 348 KB found '66.0000000000', expected '66.0000000000', error '0.0000000000'
14 Correct 1 ms 348 KB found '47.0000000000', expected '47.0000000000', error '0.0000000000'
15 Correct 0 ms 348 KB found '50.0000000000', expected '50.0000000000', error '0.0000000000'
16 Correct 0 ms 348 KB found '49.0000000000', expected '49.0000000000', error '0.0000000000'
17 Correct 0 ms 348 KB found '57.0000000000', expected '57.0000000000', error '0.0000000000'
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
2 Correct 0 ms 348 KB found '1225.0000000000', expected '1225.0000000000', error '0.0000000000'
3 Correct 0 ms 348 KB found '1023.0000000000', expected '1023.0000000000', error '0.0000000000'
4 Correct 0 ms 344 KB found '294.0000000000', expected '294.0000000000', error '0.0000000000'
5 Correct 1 ms 348 KB found '1087.0000000000', expected '1087.0000000000', error '0.0000000000'
6 Correct 0 ms 348 KB found '1.5000000000', expected '1.5000000000', error '0.0000000000'
7 Correct 1 ms 348 KB found '703.0000000000', expected '703.0000000000', error '0.0000000000'
8 Correct 1 ms 348 KB found '55.5000000000', expected '55.5000000000', error '0.0000000000'
9 Correct 1 ms 348 KB found '56.0000000000', expected '56.0000000000', error '0.0000000000'
10 Correct 0 ms 348 KB found '45.0000000000', expected '45.0000000000', error '0.0000000000'
11 Correct 0 ms 348 KB found '66.5000000000', expected '66.5000000000', error '0.0000000000'
12 Correct 0 ms 348 KB found '67.0000000000', expected '67.0000000000', error '0.0000000000'
13 Correct 1 ms 348 KB found '66.0000000000', expected '66.0000000000', error '0.0000000000'
14 Correct 1 ms 348 KB found '47.0000000000', expected '47.0000000000', error '0.0000000000'
15 Correct 0 ms 348 KB found '50.0000000000', expected '50.0000000000', error '0.0000000000'
16 Correct 0 ms 348 KB found '49.0000000000', expected '49.0000000000', error '0.0000000000'
17 Correct 0 ms 348 KB found '57.0000000000', expected '57.0000000000', error '0.0000000000'
18 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
19 Correct 0 ms 348 KB found '1225.0000000000', expected '1225.0000000000', error '0.0000000000'
20 Correct 0 ms 348 KB found '1023.0000000000', expected '1023.0000000000', error '0.0000000000'
21 Correct 0 ms 348 KB found '294.0000000000', expected '294.0000000000', error '0.0000000000'
22 Correct 1 ms 348 KB found '1087.0000000000', expected '1087.0000000000', error '0.0000000000'
23 Correct 0 ms 348 KB found '1.5000000000', expected '1.5000000000', error '0.0000000000'
24 Correct 1 ms 348 KB found '703.0000000000', expected '703.0000000000', error '0.0000000000'
25 Correct 0 ms 348 KB found '55.5000000000', expected '55.5000000000', error '0.0000000000'
26 Correct 0 ms 348 KB found '56.0000000000', expected '56.0000000000', error '0.0000000000'
27 Correct 1 ms 348 KB found '45.0000000000', expected '45.0000000000', error '0.0000000000'
28 Correct 0 ms 348 KB found '66.5000000000', expected '66.5000000000', error '0.0000000000'
29 Correct 0 ms 348 KB found '67.0000000000', expected '67.0000000000', error '0.0000000000'
30 Correct 0 ms 348 KB found '66.0000000000', expected '66.0000000000', error '0.0000000000'
31 Correct 0 ms 348 KB found '47.0000000000', expected '47.0000000000', error '0.0000000000'
32 Correct 0 ms 348 KB found '50.0000000000', expected '50.0000000000', error '0.0000000000'
33 Correct 0 ms 348 KB found '49.0000000000', expected '49.0000000000', error '0.0000000000'
34 Correct 0 ms 348 KB found '57.0000000000', expected '57.0000000000', error '0.0000000000'
35 Correct 30 ms 10268 KB found '12497500.0000000000', expected '12497500.0000000000', error '0.0000000000'
36 Correct 30 ms 10392 KB found '12495000.5000000000', expected '12495000.5000000000', error '0.0000000000'
37 Correct 222 ms 14368 KB found '12223392.0000000000', expected '12223392.0000000000', error '0.0000000000'
38 Correct 135 ms 14232 KB found '2372500.0000000000', expected '2372500.0000000000', error '0.0000000000'
39 Correct 161 ms 14232 KB found '12475017.5000000000', expected '12475017.5000000000', error '0.0000000000'
40 Correct 163 ms 14260 KB found '10655706.0000000000', expected '10655706.0000000000', error '0.0000000000'
41 Correct 237 ms 13976 KB found '11977895.5000000000', expected '11977895.5000000000', error '0.0000000000'
42 Correct 239 ms 13972 KB found '11977865.0000000000', expected '11977865.0000000000', error '0.0000000000'
43 Correct 227 ms 14064 KB found '11977907.5000000000', expected '11977907.5000000000', error '0.0000000000'
44 Correct 229 ms 14060 KB found '11977808.0000000000', expected '11977808.0000000000', error '0.0000000000'
45 Correct 217 ms 13976 KB found '11977791.0000000000', expected '11977791.0000000000', error '0.0000000000'
46 Correct 212 ms 13976 KB found '11977871.5000000000', expected '11977871.5000000000', error '0.0000000000'
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB found '100800.5000000000', expected '100800.5000000000', error '0.0000000000'
2 Correct 0 ms 348 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
3 Correct 0 ms 348 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
4 Correct 0 ms 344 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
5 Correct 1 ms 348 KB found '124002.0000000000', expected '124002.0000000000', error '0.0000000000'
6 Correct 14 ms 10796 KB found '772893586.0000000000', expected '772893586.0000000000', error '0.0000000000'
7 Correct 16 ms 12428 KB found '1100977812.5000000000', expected '1100977812.5000000000', error '0.0000000000'
8 Correct 17 ms 13292 KB found '1249950000.5000000000', expected '1249950000.5000000000', error '0.0000000000'
9 Correct 18 ms 13068 KB found '1249975000.0000000000', expected '1249975000.0000000000', error '0.0000000000'
10 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
11 Correct 0 ms 348 KB found '1225.0000000000', expected '1225.0000000000', error '0.0000000000'
12 Correct 0 ms 348 KB found '1023.0000000000', expected '1023.0000000000', error '0.0000000000'
13 Correct 0 ms 344 KB found '294.0000000000', expected '294.0000000000', error '0.0000000000'
14 Correct 1 ms 348 KB found '1087.0000000000', expected '1087.0000000000', error '0.0000000000'
15 Correct 0 ms 348 KB found '1.5000000000', expected '1.5000000000', error '0.0000000000'
16 Correct 1 ms 348 KB found '703.0000000000', expected '703.0000000000', error '0.0000000000'
17 Correct 1 ms 348 KB found '55.5000000000', expected '55.5000000000', error '0.0000000000'
18 Correct 1 ms 348 KB found '56.0000000000', expected '56.0000000000', error '0.0000000000'
19 Correct 0 ms 348 KB found '45.0000000000', expected '45.0000000000', error '0.0000000000'
20 Correct 0 ms 348 KB found '66.5000000000', expected '66.5000000000', error '0.0000000000'
21 Correct 0 ms 348 KB found '67.0000000000', expected '67.0000000000', error '0.0000000000'
22 Correct 1 ms 348 KB found '66.0000000000', expected '66.0000000000', error '0.0000000000'
23 Correct 1 ms 348 KB found '47.0000000000', expected '47.0000000000', error '0.0000000000'
24 Correct 0 ms 348 KB found '50.0000000000', expected '50.0000000000', error '0.0000000000'
25 Correct 0 ms 348 KB found '49.0000000000', expected '49.0000000000', error '0.0000000000'
26 Correct 0 ms 348 KB found '57.0000000000', expected '57.0000000000', error '0.0000000000'
27 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
28 Correct 0 ms 348 KB found '1225.0000000000', expected '1225.0000000000', error '0.0000000000'
29 Correct 0 ms 348 KB found '1023.0000000000', expected '1023.0000000000', error '0.0000000000'
30 Correct 0 ms 348 KB found '294.0000000000', expected '294.0000000000', error '0.0000000000'
31 Correct 1 ms 348 KB found '1087.0000000000', expected '1087.0000000000', error '0.0000000000'
32 Correct 0 ms 348 KB found '1.5000000000', expected '1.5000000000', error '0.0000000000'
33 Correct 1 ms 348 KB found '703.0000000000', expected '703.0000000000', error '0.0000000000'
34 Correct 0 ms 348 KB found '55.5000000000', expected '55.5000000000', error '0.0000000000'
35 Correct 0 ms 348 KB found '56.0000000000', expected '56.0000000000', error '0.0000000000'
36 Correct 1 ms 348 KB found '45.0000000000', expected '45.0000000000', error '0.0000000000'
37 Correct 0 ms 348 KB found '66.5000000000', expected '66.5000000000', error '0.0000000000'
38 Correct 0 ms 348 KB found '67.0000000000', expected '67.0000000000', error '0.0000000000'
39 Correct 0 ms 348 KB found '66.0000000000', expected '66.0000000000', error '0.0000000000'
40 Correct 0 ms 348 KB found '47.0000000000', expected '47.0000000000', error '0.0000000000'
41 Correct 0 ms 348 KB found '50.0000000000', expected '50.0000000000', error '0.0000000000'
42 Correct 0 ms 348 KB found '49.0000000000', expected '49.0000000000', error '0.0000000000'
43 Correct 0 ms 348 KB found '57.0000000000', expected '57.0000000000', error '0.0000000000'
44 Correct 30 ms 10268 KB found '12497500.0000000000', expected '12497500.0000000000', error '0.0000000000'
45 Correct 30 ms 10392 KB found '12495000.5000000000', expected '12495000.5000000000', error '0.0000000000'
46 Correct 222 ms 14368 KB found '12223392.0000000000', expected '12223392.0000000000', error '0.0000000000'
47 Correct 135 ms 14232 KB found '2372500.0000000000', expected '2372500.0000000000', error '0.0000000000'
48 Correct 161 ms 14232 KB found '12475017.5000000000', expected '12475017.5000000000', error '0.0000000000'
49 Correct 163 ms 14260 KB found '10655706.0000000000', expected '10655706.0000000000', error '0.0000000000'
50 Correct 237 ms 13976 KB found '11977895.5000000000', expected '11977895.5000000000', error '0.0000000000'
51 Correct 239 ms 13972 KB found '11977865.0000000000', expected '11977865.0000000000', error '0.0000000000'
52 Correct 227 ms 14064 KB found '11977907.5000000000', expected '11977907.5000000000', error '0.0000000000'
53 Correct 229 ms 14060 KB found '11977808.0000000000', expected '11977808.0000000000', error '0.0000000000'
54 Correct 217 ms 13976 KB found '11977791.0000000000', expected '11977791.0000000000', error '0.0000000000'
55 Correct 212 ms 13976 KB found '11977871.5000000000', expected '11977871.5000000000', error '0.0000000000'
56 Correct 28 ms 604 KB found '7.5000000000', expected '7.5000000000', error '0.0000000000'
57 Correct 69 ms 600 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
58 Correct 1 ms 348 KB found '100800.5000000000', expected '100800.5000000000', error '0.0000000000'
59 Correct 0 ms 348 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
60 Correct 0 ms 348 KB found '0.0000000000', expected '0.0000000000', error '-0.0000000000'
61 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
62 Correct 1 ms 344 KB found '124002.0000000000', expected '124002.0000000000', error '0.0000000000'
63 Correct 14 ms 10760 KB found '772893586.0000000000', expected '772893586.0000000000', error '0.0000000000'
64 Correct 16 ms 12556 KB found '1100977812.5000000000', expected '1100977812.5000000000', error '0.0000000000'
65 Correct 17 ms 13320 KB found '1249950000.5000000000', expected '1249950000.5000000000', error '0.0000000000'
66 Correct 17 ms 13324 KB found '1249975000.0000000000', expected '1249975000.0000000000', error '0.0000000000'
67 Correct 0 ms 348 KB found '1.0000000000', expected '1.0000000000', error '0.0000000000'
68 Correct 0 ms 348 KB found '1225.0000000000', expected '1225.0000000000', error '0.0000000000'
69 Correct 1 ms 348 KB found '1023.0000000000', expected '1023.0000000000', error '0.0000000000'
70 Correct 1 ms 344 KB found '294.0000000000', expected '294.0000000000', error '0.0000000000'
71 Correct 1 ms 344 KB found '1087.0000000000', expected '1087.0000000000', error '0.0000000000'
72 Correct 1 ms 348 KB found '1.5000000000', expected '1.5000000000', error '0.0000000000'
73 Correct 0 ms 348 KB found '703.0000000000', expected '703.0000000000', error '0.0000000000'
74 Correct 1 ms 348 KB found '55.5000000000', expected '55.5000000000', error '0.0000000000'
75 Correct 1 ms 344 KB found '56.0000000000', expected '56.0000000000', error '0.0000000000'
76 Correct 1 ms 348 KB found '45.0000000000', expected '45.0000000000', error '0.0000000000'
77 Correct 0 ms 348 KB found '66.5000000000', expected '66.5000000000', error '0.0000000000'
78 Correct 0 ms 348 KB found '67.0000000000', expected '67.0000000000', error '0.0000000000'
79 Correct 0 ms 348 KB found '66.0000000000', expected '66.0000000000', error '0.0000000000'
80 Correct 0 ms 348 KB found '47.0000000000', expected '47.0000000000', error '0.0000000000'
81 Correct 0 ms 348 KB found '50.0000000000', expected '50.0000000000', error '0.0000000000'
82 Correct 0 ms 348 KB found '49.0000000000', expected '49.0000000000', error '0.0000000000'
83 Correct 0 ms 348 KB found '57.0000000000', expected '57.0000000000', error '0.0000000000'
84 Correct 35 ms 10392 KB found '12497500.0000000000', expected '12497500.0000000000', error '0.0000000000'
85 Correct 35 ms 10392 KB found '12495000.5000000000', expected '12495000.5000000000', error '0.0000000000'
86 Correct 255 ms 14368 KB found '12223392.0000000000', expected '12223392.0000000000', error '0.0000000000'
87 Correct 153 ms 14228 KB found '2372500.0000000000', expected '2372500.0000000000', error '0.0000000000'
88 Correct 160 ms 14232 KB found '12475017.5000000000', expected '12475017.5000000000', error '0.0000000000'
89 Correct 151 ms 14228 KB found '10655706.0000000000', expected '10655706.0000000000', error '0.0000000000'
90 Correct 255 ms 13976 KB found '11977895.5000000000', expected '11977895.5000000000', error '0.0000000000'
91 Correct 231 ms 14060 KB found '11977865.0000000000', expected '11977865.0000000000', error '0.0000000000'
92 Correct 231 ms 13972 KB found '11977907.5000000000', expected '11977907.5000000000', error '0.0000000000'
93 Correct 234 ms 13976 KB found '11977808.0000000000', expected '11977808.0000000000', error '0.0000000000'
94 Correct 227 ms 13976 KB found '11977791.0000000000', expected '11977791.0000000000', error '0.0000000000'
95 Correct 233 ms 13976 KB found '11977871.5000000000', expected '11977871.5000000000', error '0.0000000000'
96 Execution timed out 2086 ms 252156 KB Time limit exceeded
97 Halted 0 ms 0 KB -