Submission #398138

#TimeUsernameProblemLanguageResultExecution timeMemory
398138MeGustaElArroz23Scales (IOI15_scales)C++14
0 / 100
2 ms460 KiB
#include "scales.h"
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<ll> vi;

void init(int T) {
    return;
}

//getHeaviest(A, B, C), getLightest(A, B, C), getMedian(A, B, C)

void orderCoins() {
    int W[]={0,0,0,0,0,0};
    vi sol = {1, 2, 3, 4, 5, 6};
    swap(sol[0],sol[getLightest(1,2,3)-1]);
    swap(sol[3],sol[getLightest(4,5,6)-1]);
    swap(sol[4],sol[getMedian(4,5,6)-1]);
    int ind=0;
    while (ind <3 and getLightest(sol[0],sol[3],sol[4])!=sol[0]){
        W[ind]=sol[3];
        sol[3]=sol[4];
        sol[4]=sol[5];
        ind++;
    }
    vi caca(3);
    if (ind==3){
        caca=vi{sol[1],sol[2],sol[0]};
    }
    else if (ind ==2){
        caca=vi{sol[1],sol[2],sol[3]};
    }
    else if (ind ==1){
        int a=getLightest(sol[1],sol[2],sol[3]);
        if (a==sol[1]){
            caca=vi{sol[2],sol[3],sol[4]};
            W[2]=sol[1];
        }
        else caca=vi{};
    }
    else if (ind==0){
        int a=getLightest(sol[1],sol[2],sol[3]);
        if (a==sol[3]){
            W[1]=sol[3];
            int b=getLightest(sol[1],sol[2],sol[4]);
            if (b==sol[4]){
                W[2]==sol[4];
                caca=vi{sol[1],sol[2],sol[5]};
            }
            
        }
    }

    W[3]=getLightest(caca[0],caca[1],caca[2]);
    W[4]=getMedian(caca[0],caca[1],caca[2]);
    for (int x:caca){
        if (x!=W[3] and x!=W[4]) W[5]=x;
    }

    answer(W);
}

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:8:15: warning: unused parameter 'T' [-Wunused-parameter]
    8 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:21:55: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   21 |     while (ind <3 and getLightest(sol[0],sol[3],sol[4])!=sol[0]){
      |                                                       ^
scales.cpp:21:55: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:21:55: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:22:21: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   22 |         W[ind]=sol[3];
      |                     ^
scales.cpp:35:47: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   35 |         int a=getLightest(sol[1],sol[2],sol[3]);
      |                                               ^
scales.cpp:35:47: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:35:47: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:38:23: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   38 |             W[2]=sol[1];
      |                       ^
scales.cpp:43:47: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   43 |         int a=getLightest(sol[1],sol[2],sol[3]);
      |                                               ^
scales.cpp:43:47: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:43:47: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:45:23: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   45 |             W[1]=sol[3];
      |                       ^
scales.cpp:46:51: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   46 |             int b=getLightest(sol[1],sol[2],sol[4]);
      |                                                   ^
scales.cpp:46:51: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:46:51: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:48:21: warning: value computed is not used [-Wunused-value]
   48 |                 W[2]==sol[4];
scales.cpp:55:45: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   55 |     W[3]=getLightest(caca[0],caca[1],caca[2]);
      |                                             ^
scales.cpp:55:45: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:55:45: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:56:43: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
   56 |     W[4]=getMedian(caca[0],caca[1],caca[2]);
      |                                           ^
scales.cpp:56:43: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:56:43: warning: conversion from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' may change value [-Wconversion]
scales.cpp:57:16: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   57 |     for (int x:caca){
      |                ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...