Submission #493248


Source Code Expand

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <map>
#include <set>

#define REP(i,k,n) for(int i=k;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)
#define INF 1<<30
#define pb push_back
#define mp make_pair

using namespace std;
typedef long long ll;
typedef pair<int,int> P;

int main() {
    int n,x;
    cin >> n >> x;

    int t;
    cin >> t;

    vector<int> v(n-1),p(n);
    rep(i,n-1) cin >> v[i];
    rep(i,n) cin >> p[i];

    if(n == x) {
        cout << n << endl;
        return 0;
    }

    sort(v.begin(),v.end(),greater<int>());

    int l = 0, r = n;
    while(r - l > 1) {
        int mid = (l+r) / 2;
        int next = t + p[mid];

        vector<int> prev;
        rep(i,x) {
            prev.push_back(v[i]);
        }

        vector<int> rev;
        rep(i,n) {
            if(i == mid) continue;
            rev.push_back(p[i]);

            if(rev.size() == x) break;
        }

        reverse(rev.begin(),rev.end());

        vector<int> cost(x);
        rep(i,x) {
            cost[i] = prev[i] + rev[i];
        }

        int cnt =0;
        rep(i,x) {
            if(next < cost[i]) {
                cnt++;
            }
        }

        if(cnt >= x) {
            r = mid;
        } else {
            l = mid;
        }
    }
    
    if(l == 0) {
        int cnt = 0;
        int next = t + p[0];
        vector<int> prep(x);
        rep(i,x) {
            prep[i] = p[i+1];
        }
        reverse(prep.begin(),prep.end());
        rep(i,x) {
            if(next < v[i] + prep[i]) {
                cnt++;
            }
        }

        if(cnt >= x) {
            cout << -1 << endl;
        } else {
            cout << l+1 << endl;
        }
    } else {
        cout << l+1 << endl;
    }

    return 0;
}

Submission Info

Submission Time
Task H - Handicapped Onsite Prediction
User kog
Language C++ (GCC 4.4.7)
Score 1
Code Size 1931 Byte
Status AC
Exec Time 232 ms
Memory 2884 KiB

Judge Result

Set Name All
Score / Max Score 1 / 1
Status
AC × 64
Set Name Test Cases
All 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, 064.txt
Case Name Status Exec Time Memory
001.txt AC 26 ms 804 KiB
002.txt AC 25 ms 928 KiB
003.txt AC 26 ms 808 KiB
004.txt AC 28 ms 804 KiB
005.txt AC 27 ms 744 KiB
006.txt AC 27 ms 800 KiB
007.txt AC 26 ms 804 KiB
008.txt AC 27 ms 920 KiB
009.txt AC 26 ms 804 KiB
010.txt AC 26 ms 688 KiB
011.txt AC 27 ms 916 KiB
012.txt AC 192 ms 1952 KiB
013.txt AC 187 ms 1888 KiB
014.txt AC 181 ms 1760 KiB
015.txt AC 179 ms 1568 KiB
016.txt AC 177 ms 1572 KiB
017.txt AC 230 ms 2824 KiB
018.txt AC 231 ms 2740 KiB
019.txt AC 227 ms 2700 KiB
020.txt AC 230 ms 2788 KiB
021.txt AC 232 ms 2708 KiB
022.txt AC 197 ms 2276 KiB
023.txt AC 191 ms 2208 KiB
024.txt AC 173 ms 1956 KiB
025.txt AC 167 ms 1920 KiB
026.txt AC 203 ms 2884 KiB
027.txt AC 167 ms 2336 KiB
028.txt AC 147 ms 2164 KiB
029.txt AC 116 ms 1732 KiB
030.txt AC 119 ms 2104 KiB
031.txt AC 147 ms 2828 KiB
032.txt AC 71 ms 1064 KiB
033.txt AC 64 ms 1140 KiB
034.txt AC 49 ms 932 KiB
035.txt AC 36 ms 936 KiB
036.txt AC 231 ms 2740 KiB
037.txt AC 219 ms 2700 KiB
038.txt AC 187 ms 2212 KiB
039.txt AC 168 ms 2020 KiB
040.txt AC 32 ms 928 KiB
041.txt AC 200 ms 2228 KiB
042.txt AC 120 ms 1820 KiB
043.txt AC 87 ms 1188 KiB
044.txt AC 108 ms 1368 KiB
045.txt AC 77 ms 1180 KiB
046.txt AC 143 ms 1836 KiB
047.txt AC 106 ms 1816 KiB
048.txt AC 69 ms 1284 KiB
049.txt AC 60 ms 1352 KiB
050.txt AC 50 ms 1060 KiB
051.txt AC 99 ms 1888 KiB
052.txt AC 151 ms 2208 KiB
053.txt AC 126 ms 1572 KiB
054.txt AC 188 ms 2884 KiB
055.txt AC 189 ms 2868 KiB
056.txt AC 130 ms 1692 KiB
057.txt AC 185 ms 2868 KiB
058.txt AC 202 ms 2328 KiB
059.txt AC 179 ms 1560 KiB
060.txt AC 207 ms 2240 KiB
061.txt AC 179 ms 1688 KiB
062.txt AC 206 ms 2228 KiB
063.txt AC 204 ms 2252 KiB
064.txt AC 227 ms 2872 KiB