话不多说,上十分代码:
#include<bits/stdc++.h>
using namespace std;
inline void input(__int128 &s)
{
s=0;
char c=' ';
while(c>'9'||c<'0') c=getchar();
while(c>='0'&&c<='9')
{
s=s*10+c-'0';
c=getchar();
}
}
inline void output(__int128 x)
{
if(x>9)
output(x/10);
putchar(x%10+'0');
}
__int128 a[80][80];
int n,m;
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)for(int j=0;j<m;j++)input(a[i][j]);
__int128 anszd=0;
for(int i=0;i<m;i++){
__int128 cnt=0;
for(int j=0;j<n;j++){
int zx=1e9,zxpos;
for(int k=0;k<m;k++)if(a[j][k]<zx&&a[j][k]!=-1){zx=a[j][k];zxpos=k;}
cnt+=zx;
a[j][zxpos]=-1;
}
cnt*=pow(2,i+1);
anszd+=cnt;
}
output(anszd);
return 0;
}
时间没问题,3ms,就是为什么我算出来比答案还大!!
测试点#2:
输入
5 5
0 0 0 0 0
0 0 0 0 1
876 1 566 920 598
259 945 123 659 997
176 478 293 464 278
答案输出:
118214
我的输出:
130644
!?蒟蒻悬关