Submission #987227

#TimeUsernameProblemLanguageResultExecution timeMemory
987227VMaksimoski008A Difficult(y) Choice (BOI21_books)C++17
5 / 100
11 ms852 KiB
#include <bits/stdc++.h>
#include "books.h"

using namespace std;
using ll = long long;

void solve(int N, int K, ll A, int S) {
    if(N == S && K == 3) {
        vector<ll> v;
        for(int i=0; i<N; i++) v.push_back(skim(i+1));
        
        for(int i=0; i<N; i++) {
            for(int j=i+1; j<N; j++) {
                if(v[i] + v[j] > 2 * A) continue;
                ll left = A - v[i] - v[j];
                auto p = lower_bound(v.begin(), v.end(), left) - v.begin();
                if(p == i) p++;
                if(p == j) p++;
                if(p >= N) continue;
                if(v[i] + v[j] + v[p] >= A && v[i] + v[j] + v[p] <= 2 * A)
                    answer({ i+1, j+1, p+1 });
            }
        }

        impossible();
        return ;
    }
}

Compilation message (stderr)

books.cpp: In function 'void solve(int, int, ll, int)':
books.cpp:21:41: warning: narrowing conversion of '(p + 1)' from 'long int' to 'int' [-Wnarrowing]
   21 |                     answer({ i+1, j+1, p+1 });
      |                                        ~^~
books.cpp:21:41: warning: narrowing conversion of '(p + 1)' from 'long int' to 'int' [-Wnarrowing]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...