Submission #424791

#TimeUsernameProblemLanguageResultExecution timeMemory
424791ollelScales (IOI15_scales)C++17
45.45 / 100
1 ms204 KiB
#include <bits/stdc++.h> #include <iostream> #include "scales.h" using namespace std; #define rep(i,a,b) for(int i = a; i < b; i++) #define pb push_back #define lso(x) x&(-x) typedef long long ll; typedef vector<int> vi; typedef vector<vi> vvi; int t; // int getLightest(vi x) { // cout << "lightest:"; // rep(i,0,3) cout << x[i] << " ";cout<<endl; // int ans; cin >> ans; return ans; // } // int getNextLightest(vi x) { // cout << "next lightest:"; // rep(i,0,4) cout << x[i] << " ";cout<<endl; // int ans; cin >> ans; return ans; // } // int getMedian(vi x) { // cout << "Median:"; // rep(i,0,3) cout << x[i] << " ";cout<<endl; // int ans; cin >> ans; return ans; // } void init(int T) {t = T;} // void answer(vi x) {rep(i,0,6) cout << x[i] << " ";} void orderCoins() { vi first(3), second(3); vi a = {2, 4, 6}, b = {1, 3, 5}; first[0] = getLightest(2, 4, 6); first[1] = getMedian(2, 4, 6); for (auto & i : a) if (i != first[0] && i != first[1]) first[2] = i; second[0] = getLightest(1, 3, 5); second[1] = getMedian(1, 3, 5); for(auto &i : b) if (i != second[0] && i != second[1]) second[2] = i; vi ordered; int fi = 0, si = 0; ordered.pb(getLightest(first[0], first[1], second[0])); if (ordered[0] == first[0]) fi = 1;//ordered.pb(getLightest({first[1], first[2], second[0]})); else si = 1;//ordered.pb(getLightest({first[0], first[1], second[1]})); while (ordered.size() < 6) { if (si < 3 && fi < 3) { if (si != 2) ordered.pb(getLightest(first[fi], second[si], second[si + 1])); else if (fi != 2) ordered.pb(getLightest(first[fi], first[fi + 1], second[si])); else ordered.pb(getNextLightest(first[0], first[fi], second[si], ordered[ordered.size() - 1])); if (ordered[ordered.size() - 1] == first[fi]) fi++; else si++; } else if (si < 3) { ordered.pb(second[si]); si++; } else { ordered.pb(first[fi]); fi++; } } int o[6]; rep(i,0,6) o[i] = ordered[i]; answer(o); } // int main(){ // orderCoins(); // }
#Verdict Execution timeMemoryGrader output
Fetching results...