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 | // //SKKU IDIOT LHS // #include <bits/stdc++.h> #define ___ ios_base::sync_with_stdio(0); cin.tie(0); #define ll long long using namespace std; void work(); int main() { ___ work(); } vector<int> temp = {10,2,1,5,8,4,7,3}; int mv; pair<int,int> solve(int b,int f) // left is min, right = max; { if(f - b == 1){ mv = max(mv,temp[f] - temp[b]); if(temp[b]<temp[f]) return make_pair(b,f); else return make_pair(f,b); } int mid = (f+b)/2; auto left = solve(b,mid); auto right = solve(mid+1,f); mv = max(mv,temp[right.second] - temp[left.first]); auto res = minmax_element(temp.begin() + b, temp.begin() + f + 1); return make_pair(res.first - temp.begin(),res.second - temp.begin()); } void work() { int n; //cin>>n; //temp = vector<int>(n); //for(auto &i : temp) // cin>>i; mv = -1; int b = 0; int f = temp.size()-1; solve(b,f); cout<<mv<<endl; } | cs |
ㅈㅅㅈㅅ..몇분 고민해서 알려줬더니 냅다 안된다고 비웃으니깐 짜증나서 그랬어여...
이게 뭐하는 코드죠?
http://gall.dcinside.com/board/view/?id=programming&no=513502&page=3
이거여
사다리 달팽이 합작 단ㅌ 초대 tocara2
ㅂ365 테니스 플 궁금하면 ㅌ nete77