雑記・まとめ

個人的な備忘録

pakencamp_2019_day3_c

全列挙最終問題

一人が2曲歌っても点数の高い方しか加点されないことに注意

 

異なる2曲の選び方を0<=i<mとi+1<=j<mのiとjで表現するとi<jかつi!=jになる

#include<bits/stdc++.h>
using namespace std;

int n, m;
long long int a[109][109];

int main(){

    cin >> n >> m;
    for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin >> a[i][j];

    long long ans = 0;
    for(int i=0;i<m;i++){
        for(int j=i+1;j<m;j++){
            long long int sum = 0;
            for(int k=0;k<n;k++){
                sum += max(a[k][i], a[k][j]);
            }
            ans = max(ans, sum);
        }
    }

    cout << ans << endl;

}