답안 #209880

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
209880 2020-03-15T20:22:45 Z Nucleist 쌀 창고 (IOI11_ricehub) C++14
0 / 100
7 ms 376 KB
#include "ricehub.h"
#include <bits/stdc++.h> 
using namespace std; 
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#define flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(x) cerr << " - " << #x << ": " << x << endl;
#define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl;
#define all(x) (x).begin(),(x).end()
#define sz(x) (ll)x.size()
#define ll long long
#define INF 1000000000
#define MOD 1000000007
#define pb push_back
#define ve vector<ll>
#define dos pair<ll,ll>
#define vedos vector<dos>
#define rand mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
struct greateri
{
    template<class T>
    bool operator()(T const &a, T const &b) const { return a > b; }
};
int besthub(int R,int L,int X[],ll B)
{
    int ans=0;
    ll low=0;
    ll high=R;
    while(low<=high)
    {
        ll med=(low+high)/2;
        ll cord=(med-1)/2;
        ll before=(cord);
        ll after=(med-before-1);
        ll cur=0;
        ll best=INF*pow(10,4);
        for (ll i = 0; i < med; ++i)
        {
            cur+=abs(X[i]-X[cord]);
        }
        for (ll i = med; i < R; ++i)
        {
            cur-=abs(X[cord]-X[i-med]);
            cord++;
            cur+=before*(X[cord]-X[cord-1]);
            cur-=after*(X[cord]-X[cord-1]);
            cur+=abs(X[med]-X[cord]);
            best=min(best,cur);
        }
        if(best<=B)
        {
            ans=med;
            low=med+1;
        }
        else
        {
            high=med-1;
        }
    }
    return ans;
}
//code the AC sol !
// BS/queue/map

Compilation message

ricehub.cpp:5:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization ("O3")
 
ricehub.cpp:6:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization ("unroll-loops")
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -