답안 #10694

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
10694 2014-11-07T12:09:28 Z gs14004 과수원 (NOI14_orchard) C++
13 / 25
368 ms 16756 KB
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;

int n,m,fcnt;
int* a[155];
int* s[155];

int ca[10005];

int sum(){
    int me = *max_element(ca+1,ca+m+1);
    if(me < 0) return -me;
    int mv = 0, c = 0;
    for (int j=1; j<=m; j++) {
        c += ca[j];
        if(c < 0) c = 0;
        mv = max(mv,c);
    }
    return -mv;
}

int calc(int x, int y){
    int hi = y - x + 1;
    for (int j=1; j<=m; j++) {
        ca[j] = 2 * (s[y][j] - s[y][j-1] - s[x-1][j] + s[x-1][j-1]) - hi;
    }
    return fcnt + sum();
}

int main(){
    scanf("%d %d",&n,&m);
    for (int i=0; i<=n; i++) {
        a[i] = (int*)malloc(sizeof(int) * (m + 1));
        s[i] = (int*)malloc(sizeof(int) * (m + 1));
    }
    for (int i=0; i<=m; i++) {
        s[0][i] = 0;
    }
    for (int i=0; i<=n; i++) {
        s[i][0] = 0;
    }
    for (int i=1; i<=n; i++) {
        for (int j=1; j<=m; j++) {
            scanf("%d",&a[i][j]);
            s[i][j] = s[i][j-1] + s[i-1][j] - s[i-1][j-1] + a[i][j];
        }
    }
    fcnt = s[n][m];
    int res = 1e9;
    for (int i=1; i<=n; i++) {
        for (int j=i; j<=n; j++) {
            res = min(res,calc(i,j));
        }
    }
    printf("%d",res);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 1128 KB Output is correct
2 Correct 0 ms 1128 KB Output is correct
3 Correct 0 ms 1128 KB Output is correct
4 Correct 0 ms 1128 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 1300 KB SIGSEGV Segmentation fault
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 108 ms 16756 KB SIGSEGV Segmentation fault
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 20 ms 3476 KB SIGSEGV Segmentation fault
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 1128 KB Output is correct
2 Correct 12 ms 1260 KB Output is correct
3 Correct 8 ms 1260 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 368 ms 7012 KB Output is correct
2 Correct 368 ms 7012 KB Output is correct
3 Correct 368 ms 7012 KB Output is correct