#include <cstdio> using namespace std; int odl[2020], p; void save(int o){ scanf("%d", &p); if(odl[p] == 0 || odl[p] > o) odl[p] = o; //printf("[%d: %d]", p, o); } int main(){ int n, ile; scanf("%d %d", &n, &ile); for(int r=1; r<=n; r++){ save(r); int k = r; for(int a = r-2; a > 1; a-=2){ k = k+a; //printf("%d ", k); save(k); } if(r%2 == 1 && r != 1){ k++; //printf("%d ", k); save(k); } for(int a = r%2; a < r; a+=2){ k = k-a; //printf("%d ", k); save(k); } //printf("\n"); } for(int i=0; i<2020; i++){ if(odl[i] != 0 && odl[i]<= ile){ printf("%d", i); return 0; } } return 0; }
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <cstdio> using namespace std; int odl[2020], p; void save(int o){ scanf("%d", &p); if(odl[p] == 0 || odl[p] > o) odl[p] = o; //printf("[%d: %d]", p, o); } int main(){ int n, ile; scanf("%d %d", &n, &ile); for(int r=1; r<=n; r++){ save(r); int k = r; for(int a = r-2; a > 1; a-=2){ k = k+a; //printf("%d ", k); save(k); } if(r%2 == 1 && r != 1){ k++; //printf("%d ", k); save(k); } for(int a = r%2; a < r; a+=2){ k = k-a; //printf("%d ", k); save(k); } //printf("\n"); } for(int i=0; i<2020; i++){ if(odl[i] != 0 && odl[i]<= ile){ printf("%d", i); return 0; } } return 0; } |