Submission #353693

# Submission time Handle Problem Language Result Execution time Memory
353693 2021-01-21T09:31:11 Z IloveN Koala Game (APIO17_koala) C++14
37 / 100
139 ms 1132 KB
#include<bits/stdc++.h>

using namespace std;
#define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define all(vr) vr.begin(),vr.end()
#define vi vector<int>
#define vll vector<ll>
#include "koala.h"

int B[100],R[100];

int minValue(int N, int W) {
    // TODO: Implement Subtask 1 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    B[0]=1;
    playRound(B,R);
    int res;
    for (int i=0;i<N;i++)
        if (R[i]<=B[i]) res=i;
    return res;
}

int maxValue(int N, int W) {
    // TODO: Implement Subtask 2 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    vi vt;
    for (int i=0;i<N;i++) vt.eb(i);
    while (vt.size()>1)
    {
        for (int i=0;i<N;i++) B[i]=0;
        int val=W/vt.size();
        val=min(val,11);
        for (int x : vt) B[x]=val;
        playRound(B,R);
        vt.clear();
        for (int i=0;i<N;i++)
            if (R[i]>val) vt.eb(i);
    }
    return vt[0];
}

int greaterValue(int N, int W) {
    // TODO: Implement Subtask 3 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    int val[7]={1,2,3,4,5,6,8};
    int l=0,r=6,res=2;
    while (l<=r)
    {
        int mid=(l+r)/2;
        B[0]=B[1]=val[mid];
        playRound(B,R);
        int cnt=0;
        for (int i=0;i<=1;i++)
            if (R[i]>val[mid]) res=i,cnt++;
        if (cnt==1) break;
        if (cnt==2) l=mid+1;
        else r=mid-1;
    }
    return res;
}

int p[101];

void solve(int l,int r,int N,int W)
{
    if (l==r) return;
    int len=r-l+1;
    int val=W/len;
    val=min({val,len});
    for (int i=1;i<l;i++) B[p[i]-1]=0;
    for (int i=l;i<=r;i++) B[p[i]-1]=val;
    for (int i=r+1;i<=N;i++) B[p[i]-1]=0;
    playRound(B,R);
    vi vt1,vt2;
    for (int i=l;i<=r;i++)
        if (R[p[i]-1]<=val) vt1.eb(p[i]);
        else vt2.eb(p[i]);
    int mid=l+vt1.size()-1;
    for (int i=0;i<(int)vt1.size();i++) p[i+l]=vt1[i];
    for (int i=0;i<(int)vt2.size();i++) p[mid+1+i]=vt2[i];
    solve(l,mid,N,W);
    solve(mid+1,r,N,W);
}

void allValues(int N, int W, int *P) {
    if (W == 2*N) {
        // TODO: Implement Subtask 4 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
    for (int i=1;i<=N;i++) p[i]=i;
    solve(1,N,N,W);
    for (int i=1;i<=N;i++) P[p[i]]=i;
}

/*int main()
{
    //freopen("ss.inp","r",stdin);
    ios::sync_with_stdio(false);
    cin.tie(0);
    return 0;
}*/

Compilation message

koala.cpp: In function 'int minValue(int, int)':
koala.cpp:28:12: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   28 |     return res;
      |            ^~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 364 KB Output is correct
2 Correct 6 ms 388 KB Output is correct
3 Correct 6 ms 364 KB Output is correct
4 Correct 5 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 364 KB Output is correct
2 Correct 19 ms 512 KB Output is correct
3 Correct 20 ms 364 KB Output is correct
4 Correct 19 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 100 ms 364 KB Output is correct
2 Correct 102 ms 412 KB Output is correct
3 Correct 86 ms 364 KB Output is correct
4 Correct 86 ms 364 KB Output is correct
5 Correct 93 ms 420 KB Output is correct
6 Correct 89 ms 628 KB Output is correct
7 Correct 96 ms 396 KB Output is correct
8 Correct 86 ms 364 KB Output is correct
9 Correct 92 ms 424 KB Output is correct
10 Correct 85 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 8
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 139 ms 1132 KB Output isn't correct
2 Halted 0 ms 0 KB -