[语言月赛 202403] 大西洋船王
题目背景
大西洋船王 Arthur von Montgomery 是 ScaredQiu 的童年男神。
题目描述
亚瑟目前有 n n n 个任务需要完成,对于一个任务,他需要派遣 1 1 1 到 m m m 条船(不能不派遣)。派遣一条船出一次任务的花费为 k k k 元,第 i i i 次任务派出 j j j 条船可以获得 a i , j a_{i,j} ai,j 元。
请计算最优情况下亚瑟的收入,请注意这个值可能是负数。
输入格式
第一行输入三个整数
n
,
m
,
k
n,m,k
n,m,k。
接下来
n
n
n 行每行输入
m
m
m 个整数,第
i
i
i 行的第
j
j
j 个数为
a
i
,
j
a_{i,j}
ai,j。
输出格式
输出一行一个整数,表示最优情况下亚瑟的收入。
样例 #1
样例输入 #1
2 3 6
12 11 19
16 17 18
样例输出 #1
16
提示说明
数据规模与约定
对于
20
%
20\%
20% 的数据,
1
≤
n
,
m
≤
8
1 \leq n,m\leq 8
1≤n,m≤8。
对于
50
%
50\%
50% 的数据,
1
≤
n
,
m
≤
100
1 \leq n,m\leq 100
1≤n,m≤100。
对于
100
%
100\%
100% 的数据,
1
≤
n
,
m
≤
1000
1 \leq n,m\leq 1000
1≤n,m≤1000,输入的所有数字都为整数,且都不超过 C++ 中
32
32
32 位有符号整数可表示的范围。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n,m,k;
cin>>n>>m>>k;
ll ans=0;
for(ll i=1;i<=n;i++)
{
ll maxn;
for(ll j=1;j<=m;j++)
{
ll a;
cin>>a;
ll pay=a-j*k;
if(j==1) maxn=pay;
maxn=max(maxn,pay);
}
ans+=maxn;
}
cout<<ans<<endl;
return 0;
}