1 solutions
-
0
C++ :
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <string> #include <string.h> #include <algorithm> #include <cmath> #include <queue> #include <deque> #include <stack> #include <vector> #include <set> using namespace std; int b,n,m,ii,jj,aa,bb,s[300][100000],a[100000]={-1000}; void maxx(int i) { for(int h=1;h<=m;++h) a[i]=a[i]>s[h][i]+100?a[i]:s[h][i]+100; a[i]-=100; } int main() { ios::sync_with_stdio(false); scanf("%d%d",&m,&n); for(int i=1;i<=m;++i) for(int j=1;j<=n;++j) { scanf("%d",&b); s[i][j]=b; } for(int i=1;i<=n;++i) maxx(i); for(int i=2;i<=n;++i) a[i]+=a[i-1]; for(int i=1;i<=n;++i) a[0]=a[0]>a[i]?a[0]:a[i]; for(int i=1;i<=n;++i) for(int j=i+1;j<=n;++j) a[0]=a[j]-a[i]>a[0]?a[j]-a[i]:a[0]; printf("%d\n",a[0]); return 0; }
Pascal :
var m,n,i,x,j,ans,s,maxs:longint; max:array[0..100000]of longint; begin readln(m,n); for i:=1 to n do max[i]:=-maxlongint; for i:=1 to m do for j:=1 to n do begin read(x); if x>max[j] then max[j]:=x; end; maxs:=-maxlongint; for i:=1 to n do begin if s+max[i]>max[i] then s:=s+max[i] else s:=max[i]; if s>maxs then maxs:=s; end; writeln(maxs); end.
- 1
Information
- ID
- 697
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By