Submission #1075689

#TimeUsernameProblemLanguageResultExecution timeMemory
1075689TB_Scales (IOI15_scales)C++17
0 / 100
1 ms604 KiB
#include <bits/stdc++.h> #include "scales.h" using namespace std; #define ll long long #define fo(i, n) for(ll i = 0; i<(n); i++) #define F first #define S second #define pb push_back #define deb(x) cout << #x << " = " << (x) << endl #define deb2(x, y) cout << #x << " = " << (x) << ", " << #y << " = " << (y) << endl typedef vector<ll> vl; typedef vector<vl> vvl; void init(int T) { } void orderCoins() { int W[] = {-1, -1, -1, -1, -1, -1}; int t1 = getLightest(1, 2, 3); int t2 = getLightest(4, 5, 6); vector<int> a1, a2; fo(i, 3){ if(t1!=i+1)a1.pb(i+1); if(t2!=i+4)a2.pb(i+4); } int dist = 1; while(dist==t1||dist==t2)dist++; W[0] = getLightest(t1, t2, dist); if(t1==W[0]){ W[1] = getLightest(t2, a1[0], a1[1]); }else{ W[1] = getLightest(t1, a2[0], a2[1]); } vector<int> left; fo(i, 6){ if(i+1==W[0] || i+1 == W[1]) continue; left.pb(i+1); } int res = getLightest(left[0], left[1], left[2]); int other = left[0]; if(other == res) other = left[1]; int res2 = getMedian(res, other, left[3]); if(res2 == left[3]){ W[2] = res; left.clear(); fo(i, 6){ if(i+1==W[0] || i+1 == W[1] || i+1 == W[2]) continue; left.pb(i+1); } W[3] = getLightest(left[0], left[1], left[2]); W[4] = getMedian(left[0], left[1], left[2]); }else{ W[2] = res2; W[3] = res; W[4] = getMedian(left[0], left[1], left[2]); } fo(i, 6){ if(i+1==W[0] || i+1==W[1] || i+1==W[2] || i+1 == W[3]|| i+1 == W[4]) continue; W[5] = i+1; } answer(W); }

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:20:15: warning: unused parameter 'T' [-Wunused-parameter]
   20 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:29:27: warning: conversion from 'long long int' to 'std::vector<int>::value_type' {aka 'int'} may change value [-Wconversion]
   29 |         if(t1!=i+1)a1.pb(i+1);
      |                          ~^~
scales.cpp:30:27: warning: conversion from 'long long int' to 'std::vector<int>::value_type' {aka 'int'} may change value [-Wconversion]
   30 |         if(t2!=i+4)a2.pb(i+4);
      |                          ~^~
scales.cpp:45:18: warning: conversion from 'long long int' to 'std::vector<int>::value_type' {aka 'int'} may change value [-Wconversion]
   45 |         left.pb(i+1);
      |                 ~^~
scales.cpp:56:22: warning: conversion from 'long long int' to 'std::vector<int>::value_type' {aka 'int'} may change value [-Wconversion]
   56 |             left.pb(i+1);
      |                     ~^~
scales.cpp:69:17: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   69 |         W[5] = i+1;
      |                ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...