СОставляем функцию Лагранжа L=x1+4x2+x3-10x4-5x5 +a(x1-x2+x3+x4-4x5)+ +b(x1+x2+5x3+3x4-4x5) и записываем систему из уравнений: приравниваем к нулю производные функции L, а еще два уравнения - это заданные условия. Находим решение - это будет точка условного экстремума, проверяем ее на максимум.
зы Хотя, условие не совсем четко записано. Если имеется в виду, что функция зависит от пяти переменных х1,х2,х3,х4,х5, то тогда задана линейная функция и линейные ограничения. Скорее всего, максимума не будет...
#include <iostream>
#include <vector>
using namespace std;
void solve(){
int n,m;
cin >> n >> m;
vector<vector<char>> a(n, vector<char>(m));
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
cin >> a[i][j];
int i = 0,ans = -1;
while(i < n){
int cnt = 1,j = 1;
while(a[i][j] == a[i][j-1] && j < m){
cnt++;
j++;
}
if(cnt == m)
ans = i;
i++;
}
if(ans == -1)
cout << "No solution";
else
cout << ans + 1;
}
signed main(){
solve();
}
L=x1+4x2+x3-10x4-5x5 +a(x1-x2+x3+x4-4x5)+
+b(x1+x2+5x3+3x4-4x5)
и записываем систему из уравнений: приравниваем к нулю производные функции L, а еще два уравнения - это заданные условия.
Находим решение - это будет точка условного экстремума, проверяем ее на максимум.
зы Хотя, условие не совсем четко записано.
Если имеется в виду, что функция зависит от пяти переменных х1,х2,х3,х4,х5, то тогда задана линейная функция и линейные ограничения. Скорее всего, максимума не будет...