Submission #1533259


Source Code Expand

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <cstring>
#include <map>
#include <queue>
#include <cmath>

#define MOD 1000000007
#define ll long long
#define ld long double

using namespace std;

//l<rは必ず成り立つ、
ll cal(int l, int r, int mid){
  //mid < l < r
  if(mid<=l && l<=r){//l~rまでの和
    ll left = l-mid;
    ll right = r-mid;
    ll re = 0;
    for(ll i = left; i<= right;i++){
      re+=i;
    }
    return re;
  }

  //l < mid < r
  else if(l<=mid && mid<=r){
    ll left = mid-l;
    ll right = r-mid;
    ll re = 0;
    for(ll i = 0;i<= left ; i++){
      re+=i;
    }
    for(ll i =0;i<=right; i++){
      re+=i;
    }

    return re;
  }

  //l < r < mdi
  else if(l<=r && r<=mid){
    ll left = mid-l;
    ll right = mid-r;
    ll re=0;
    for(ll i = right;i<= left;i++){
      re+=i;
    }
    return re;
  }

}


int main(){
  cin.tie(0);
  ios::sync_with_stdio(false);
  
  int R,G,B;
  cin >> R >> G >> B;//左、真ん中、右
  if(B>R) swap(B,R);//左の数が常に右より多くなる
  int rl,rr, gl,gr, bl,br;//それぞれの色の左、右側

  //真ん中を自分(0)中心に、配置する。
  //偶数の場合、右が一つ多くなる(自分の中心にも一つはおいてるはず。)
  gl = (0-(G-1)/2);
  gr = gl+G-1;

  //次に、重い左の部分を自分(-100)中心に、配置する.
  rl = (-100-(R-1)/2);
  rr = rl+R-1;
  //ただし、中央と重なる時もありうる
  if(rr>=gl){//重なると
    //RとGの総数を足して、両方の中心を中心に、配置する。
    rl = (-50-(R+G-1)/2);
    rr = rl+R-1;
    gl = rr+1;
    gr = gl+G-1;
  }

  //最後に、右を自分(100)中心に、配置する。
  bl = (100-(B-1)/2);
  br = bl+B-1;
  //同じく、右がもし中央と重なったら、全体再配置する。
  //この時、右が少なめになってるので、重なってるなら、左も必ず重なってる。左も再配置しましょう
  if(gr>=bl){
    rl = (0-(R+G+B-1)/2);
    rr = rl+R-1;
    gl = rr+1;
    gr = gl+G-1;
    bl = gr+1;
    br = bl + B -1;
  }
  ll re = 10e8;

  for(ll i = -100;i<=100;i++){
    ll result = 0;
    result += cal(rl+i, rr+i, -100);
    result += cal(gl+i, gr+i,    0);
    result += cal(bl+i, br+i,  100);
    if(result < re) re = result;
  }
  cout << re << endl;


  
  return 0;
}

Submission Info

Submission Time
Task D - マーブル
User ukohank517
Language C++14 (GCC 5.4.1)
Score 40
Code Size 2490 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name sub1 sub2 All
Score / Max Score 10 / 10 30 / 30 0 / 60
Status
AC × 29
AC × 57
AC × 79
WA × 6
Set Name Test Cases
sub1 sample_01_ABC.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt
sub2 sample_01_ABC.txt, sample_02_BC.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt, test_BC_29.txt, test_BC_30.txt, test_BC_31.txt, test_BC_32.txt, test_BC_33.txt, test_BC_34.txt, test_BC_35.txt, test_BC_36.txt, test_BC_37.txt, test_BC_38.txt, test_BC_39.txt, test_BC_40.txt, test_BC_41.txt, test_BC_42.txt, test_BC_43.txt, test_BC_44.txt, test_BC_45.txt, test_BC_46.txt, test_BC_47.txt, test_BC_48.txt, test_BC_49.txt, test_BC_50.txt, test_BC_51.txt, test_BC_52.txt, test_BC_53.txt, test_BC_54.txt, test_BC_55.txt
All sample_01_ABC.txt, sample_02_BC.txt, sample_03_C.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt, test_BC_29.txt, test_BC_30.txt, test_BC_31.txt, test_BC_32.txt, test_BC_33.txt, test_BC_34.txt, test_BC_35.txt, test_BC_36.txt, test_BC_37.txt, test_BC_38.txt, test_BC_39.txt, test_BC_40.txt, test_BC_41.txt, test_BC_42.txt, test_BC_43.txt, test_BC_44.txt, test_BC_45.txt, test_BC_46.txt, test_BC_47.txt, test_BC_48.txt, test_BC_49.txt, test_BC_50.txt, test_BC_51.txt, test_BC_52.txt, test_BC_53.txt, test_BC_54.txt, test_BC_55.txt, test_C_56.txt, test_C_57.txt, test_C_58.txt, test_C_59.txt, test_C_60.txt, test_C_61.txt, test_C_62.txt, test_C_63.txt, test_C_64.txt, test_C_65.txt, test_C_66.txt, test_C_67.txt, test_C_68.txt, test_C_69.txt, test_C_70.txt, test_C_71.txt, test_C_72.txt, test_C_73.txt, test_C_74.txt, test_C_75.txt, test_C_76.txt, test_C_77.txt, test_C_78.txt, test_C_79.txt, test_C_80.txt, test_C_81.txt, test_C_82.txt
Case Name Status Exec Time Memory
sample_01_ABC.txt AC 1 ms 256 KB
sample_02_BC.txt AC 1 ms 256 KB
sample_03_C.txt AC 1 ms 256 KB
test_ABC_01.txt AC 1 ms 256 KB
test_ABC_02.txt AC 1 ms 256 KB
test_ABC_03.txt AC 1 ms 256 KB
test_ABC_04.txt AC 1 ms 256 KB
test_ABC_05.txt AC 1 ms 256 KB
test_ABC_06.txt AC 1 ms 256 KB
test_ABC_07.txt AC 1 ms 256 KB
test_ABC_08.txt AC 1 ms 256 KB
test_ABC_09.txt AC 1 ms 256 KB
test_ABC_10.txt AC 1 ms 256 KB
test_ABC_11.txt AC 1 ms 256 KB
test_ABC_12.txt AC 1 ms 256 KB
test_ABC_13.txt AC 1 ms 256 KB
test_ABC_14.txt AC 1 ms 256 KB
test_ABC_15.txt AC 1 ms 256 KB
test_ABC_16.txt AC 1 ms 256 KB
test_ABC_17.txt AC 1 ms 256 KB
test_ABC_18.txt AC 1 ms 256 KB
test_ABC_19.txt AC 1 ms 256 KB
test_ABC_20.txt AC 1 ms 256 KB
test_ABC_21.txt AC 1 ms 256 KB
test_ABC_22.txt AC 1 ms 256 KB
test_ABC_23.txt AC 1 ms 256 KB
test_ABC_24.txt AC 1 ms 256 KB
test_ABC_25.txt AC 1 ms 256 KB
test_ABC_26.txt AC 1 ms 256 KB
test_ABC_27.txt AC 1 ms 256 KB
test_ABC_28.txt AC 1 ms 256 KB
test_BC_29.txt AC 1 ms 256 KB
test_BC_30.txt AC 1 ms 256 KB
test_BC_31.txt AC 1 ms 256 KB
test_BC_32.txt AC 1 ms 256 KB
test_BC_33.txt AC 1 ms 256 KB
test_BC_34.txt AC 1 ms 256 KB
test_BC_35.txt AC 1 ms 256 KB
test_BC_36.txt AC 1 ms 256 KB
test_BC_37.txt AC 1 ms 256 KB
test_BC_38.txt AC 1 ms 256 KB
test_BC_39.txt AC 1 ms 256 KB
test_BC_40.txt AC 1 ms 256 KB
test_BC_41.txt AC 1 ms 256 KB
test_BC_42.txt AC 1 ms 256 KB
test_BC_43.txt AC 1 ms 256 KB
test_BC_44.txt AC 1 ms 256 KB
test_BC_45.txt AC 1 ms 256 KB
test_BC_46.txt AC 1 ms 256 KB
test_BC_47.txt AC 1 ms 256 KB
test_BC_48.txt AC 1 ms 256 KB
test_BC_49.txt AC 1 ms 256 KB
test_BC_50.txt AC 1 ms 256 KB
test_BC_51.txt AC 1 ms 256 KB
test_BC_52.txt AC 1 ms 256 KB
test_BC_53.txt AC 1 ms 256 KB
test_BC_54.txt AC 1 ms 256 KB
test_BC_55.txt AC 1 ms 256 KB
test_C_56.txt WA 1 ms 256 KB
test_C_57.txt AC 1 ms 256 KB
test_C_58.txt AC 1 ms 256 KB
test_C_59.txt AC 1 ms 256 KB
test_C_60.txt WA 1 ms 256 KB
test_C_61.txt AC 1 ms 256 KB
test_C_62.txt AC 1 ms 256 KB
test_C_63.txt AC 1 ms 256 KB
test_C_64.txt WA 1 ms 256 KB
test_C_65.txt AC 1 ms 256 KB
test_C_66.txt AC 1 ms 256 KB
test_C_67.txt AC 1 ms 256 KB
test_C_68.txt AC 1 ms 256 KB
test_C_69.txt WA 1 ms 256 KB
test_C_70.txt AC 1 ms 256 KB
test_C_71.txt AC 1 ms 256 KB
test_C_72.txt AC 1 ms 256 KB
test_C_73.txt AC 1 ms 256 KB
test_C_74.txt AC 1 ms 256 KB
test_C_75.txt AC 1 ms 256 KB
test_C_76.txt AC 1 ms 256 KB
test_C_77.txt AC 1 ms 256 KB
test_C_78.txt AC 1 ms 256 KB
test_C_79.txt WA 1 ms 256 KB
test_C_80.txt AC 1 ms 256 KB
test_C_81.txt WA 1 ms 256 KB
test_C_82.txt AC 1 ms 256 KB