1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "cielib.h"
int main() {
  int D = podajD();
  int K = podajK();
  int R = podajR();
  int t[D],l[D],r[D];
  for (int i = 0; i < D; i++) {
    l[i]=0;
    r[i]=R;
  }
  while (true) {
    int j=0;
    for (int i=0; i < D; i++) {
      if (r[i]-l[i]>r[j]-l[j]) j=i;
      t[i]=(l[i]+r[i])/2;
    }
    if (l[j]==r[j]) break;
    int cur=t[j];
    t[j]=l[j];
    int x=czyCieplo(t);
    t[j]=r[j];
    int y=czyCieplo(t);
    if (y==0) {
      t[j]=l[j];
      x=czyCieplo(t);
      if (x==0) l[j]=r[j]=cur; else r[j]=cur;
    } else l[j]=cur+1;
  }
  znalazlem(r);
  return 0;
}