Submission #960669

# Submission time Handle Problem Language Result Execution time Memory
960669 2024-04-10T21:30:04 Z AlperenT_ Koala Game (APIO17_koala) C++14
37 / 100
44 ms 504 KB
#include "koala.h"
#include <bits/stdc++.h>

#pragma GCC optimize("O3,unroll-loops")
#define pb push_back
#define F first
#define S second 
#define ld long double
#define all(a) a.begin(),a.end()
#define pii pair <int,int>
#define sz(v) (int)v.size()
#define rep(i , a , b) for(int i=a;i <= (b);i++)
#define per(i , a , b) for(int i=a;i >= (b);i--)
#define deb(x) cout <<#x << " : " << x << "\n" ;
using namespace std ;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const int maxn = 5e5+10 , maxk = 1e4, sq = 1e5 , lg = 19,  inf = 1e9+10 , mod = 31607;
int B[maxn] , R[maxn] ;
int minValue(int N, int W) {
    int a[N] , b[N] ;
    rep(i , 0 , N-2){
        a[i] =0 ;
    }
    a[N-1] = 1;
    playRound(a,b) ;
    rep(i , 0 , N-2){
        if(b[i] == 0)return i ;
    }
    return N-1 ; 
}

int maxValue(int n, int w) {
    vector <int> vec;
    rep(i , 0 , n-1)vec.pb(i) ;
    while(sz(vec)!=1){
        int a[n] , b[n] ;
        int x =min(13 ,w/sz(vec)) ;
        rep(i ,0  ,n-1)a[i] = 0; 
        rep(i , 0 , sz(vec)-1){
            a[vec[i]] = x; 
        }
        playRound(a,b) ;
        vec.clear();
        rep(i , 0 , n-1)if(a[i] > 0 && b[i] > a[i])vec.pb(i) ;
    }
    return vec[0];
}
int greaterValue(int n, int W){
	int low=1,high=min(10,W/2);
	while(low<=high){
		int mid=(low+high)/2;
		int a[n],b[n];
		for(int i=0;i<n;i++) a[i]=0;
		a[0]=a[1]=mid;
		playRound(a,b);
		if(b[0]>mid&&b[1]>mid) low=mid+1;
		else if(b[0]<=mid&&b[1]<=mid) high=mid-1;
		else return (b[0]>mid?0:1);
	}
	return 0;
}
int n ; 
bool cmp1(int A ,int B){
	int low=0,high=40;
	while(low<=high){
		int mid=(low+high)/2;
		int a[n],b[n];
		for(int i=0;i<n;i++) a[i]=1;
		a[A]=a[B]=mid+1;
		playRound(a,b);
		if(b[A]>mid+1&&b[B]>mid+1) low=mid+1;
		else if(b[A]<=mid+1&&b[B]<=mid+1) high=mid-1;
		else return (b[B]>mid+1?1:0);
	}
    return 0 ;  
}

void allValues(int N, int W, int *p) {
    n  = N ;
    if (W == 2*N) {
        vector <int> vec; 
        rep(i , 0 , n-1)vec.pb(i) ;
        sort(all(vec) , cmp1);
        rep(i , 0 ,n-1){
            p[vec[i]]=i+1 ; 
        }
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 344 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
3 Correct 4 ms 344 KB Output is correct
4 Correct 3 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15 ms 344 KB Output is correct
2 Correct 13 ms 468 KB Output is correct
3 Correct 10 ms 468 KB Output is correct
4 Correct 10 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 40 ms 500 KB Output is correct
2 Correct 44 ms 484 KB Output is correct
3 Correct 41 ms 480 KB Output is correct
4 Correct 39 ms 496 KB Output is correct
5 Correct 40 ms 480 KB Output is correct
6 Correct 40 ms 504 KB Output is correct
7 Correct 39 ms 484 KB Output is correct
8 Correct 40 ms 476 KB Output is correct
9 Correct 44 ms 484 KB Output is correct
10 Correct 43 ms 488 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 33 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -