제출 #730885

#제출 시각아이디문제언어결과실행 시간메모리
730885idasA Difficult(y) Choice (BOI21_books)C++17
0 / 100
3 ms592 KiB
#include "books.h"

#include <bits/stdc++.h>
#define f first
#define s second
#define pb push_back
#define sz(x) ((int)((x).size()))
#define le(vec) vec[vec.size()-1]
#define all(x) (x).begin(), (x).end()
#define TSTS int ttt; cin >> ttt; while(ttt--) solve()
#define FAST_IO ios_base::sync_with_stdio(0); cin.tie(nullptr)
#define FOR(i, begin, end) for(int i = (begin); i < (end); i++)

using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef map<int, int> mii;
typedef pair<int, int> pii;
typedef pair<long long, long long> pll;
typedef pair<long double, long double> pdd;

const int INF=1e9, MOD=1e9+7, mod=998244353;
const ll LINF=1e18;

void setIO()
{
    FAST_IO;
}

void setIO(string s)
{
    FAST_IO;
    freopen((s+".in").c_str(), "r", stdin);
    freopen((s+".out").c_str(), "w", stdout);
}

void solve(int n, int k, ll dsum, int s)
{
    vi a(n);
    FOR(i, 0, n)
    {
        a[i]=skim(i+1);
    }

    set<int> st(all(a));
    FOR(i, 0, n)
    {
        FOR(j, i+1, n)
        {
            st.erase(a[i]); st.erase(a[j]);
            ll sum=a[i]+a[j];
            auto it=st.lower_bound(dsum-sum);

            if(it!=st.end() && sum+ll(*it)<=2LL*dsum){
                vi ans;
                FOR(kk, 0, n) if(a[kk]==*it) ans.pb(kk+1);
                ans.pb(i+1);
                ans.pb(j+1);

                sort(all(ans));

//                assert(sum+*it>=dsum);
//                assert(sum+*it>=dsum && sum+*it<=2*dsum);

                answer(ans);
            }

            st.insert(a[i]); st.insert(a[j]);
        }
    }

    impossible();
}


//int main()
//{
//    setIO();
//
//}

컴파일 시 표준 에러 (stderr) 메시지

books.cpp: In function 'void setIO(std::string)':
books.cpp:34:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |     freopen((s+".in").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
books.cpp:35:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |     freopen((s+".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...