分割統治法
分割統治法を用いて最大値を求める.
#include <bits/stdc++.h> using namespace std; int findMaximum(int A[],int left,int right) { int u,v,m,x,l=left,r=right; m = (l+r)/2; if(l==r-1){ return A[l]; }else{ u = findMaximum(A,l,m); v = findMaximum(A,m,r); x = max(u,v); } return x; } int main() { int A[10]={5,2,1,10,100,3,1,82,-1,-40}; cout<<findMaximum(A,0,10)<<endl; return 0; }