Submission #36598

# Submission time Handle Problem Language Result Execution time Memory
36598 2017-12-11T17:27:07 Z WhipppedCream Taxis (POI13_tak) C++14
50 / 100
189 ms 5920 KB
#include <bits/stdc++.h>
//#ifdef atom #else #endif
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
#define X first
#define Y second
#define vi vector<int>
#define vvi vector< vi >
#define vii vector< ii >
#define mp make_pair
#define pb push_back
const int maxn = 5e5+5;
ll x[maxn];
int n;
ll d, m;
int LU(ll k)
{
    return lower_bound(x, x+n, k)-x;
}
void fail()
{
    puts("0");
    exit(0);
}
void use(ll x)
{
    ll dd = min(d, x-d);
    d -= dd;
    m -= dd;
}
bool ok(ll x)
{
    return x>=d+m;
}
int main()
{
    //#ifndef atom
    //freopen(".in", "r", stdin);
    //freopen(".out", "w", stdout);
    //#endif
    scanf("%lld %lld %d", &m, &d, &n);
    for(int i = 0; i< n; i++) scanf("%lld", &x[i]);
    sort(x, x+n);
    int pos = LU(m-d);
    if(pos == n) fail();
    int cnt = 0;
    for(int i = n-1; i>= 0; i--)
    {
        if(i == pos) continue;
        if(d>x[i]) fail();
        if(ok(x[max(pos, i)]))
        {
            printf("%d\n", cnt+1);
            return 0;
        }
        use(x[i]); cnt++;
    }
    if(ok(x[pos])) printf("%d\n", cnt+1);
    else printf("0\n");
}

Compilation message

tak.cpp: In function 'int main()':
tak.cpp:42:38: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld %lld %d", &m, &d, &n);
                                      ^
tak.cpp:43:51: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i = 0; i< n; i++) scanf("%lld", &x[i]);
                                                   ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5920 KB Output is correct
2 Correct 0 ms 5920 KB Output is correct
3 Correct 0 ms 5920 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5920 KB Output is correct
2 Correct 0 ms 5920 KB Output is correct
3 Correct 0 ms 5920 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5920 KB Output is correct
2 Correct 0 ms 5920 KB Output is correct
3 Correct 0 ms 5920 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5920 KB Output is correct
2 Correct 0 ms 5920 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 5920 KB Output is correct
2 Correct 3 ms 5920 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 5920 KB Output is correct
2 Incorrect 19 ms 5920 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 26 ms 5920 KB Output is correct
2 Incorrect 89 ms 5920 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 123 ms 5920 KB Output is correct
2 Incorrect 119 ms 5920 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 189 ms 5920 KB Output is correct
2 Incorrect 143 ms 5920 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 136 ms 5920 KB Output is correct
2 Incorrect 189 ms 5920 KB Output isn't correct