Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

神奇的 WA ,求大神解答

Posted by wangheda at 2016-08-24 17:13:50 on Problem 1160
本地 G++ 全部正确,在线 G++ 编译 WA, C++ 编译 AC,代码如下:

#include<iostream>
#include<iomanip>
#include<cmath>
using std::ios; using std::cout; using std::cin; using std::cerr; using std::endl;
using std::fixed; using std::setprecision;

#define REP1(i,n) for(int i=1, _##i=(n+1); i<_##i; ++i)
#define REP(i,n) for(int i=0, _##i=(n); i<_##i; ++i)
#define INIT(a,b) memset(a,b,sizeof(a))
#define MAX(a,b) ((a)>(b)?(a):(b))
#define MIN(a,b) ((a)<(b)?(a):(b))
#define PI 3.1415926535898
#define INF 1000000000

int sum[600][60];
int village[600];

int main() {
    std::ios::sync_with_stdio(false);

    REP(i,600) REP(j,60) sum[i][j] = INF;

    int V,P; cin >> V >> P;
    REP1(v,V) cin >> village[v];

    int s = 0;
    // base
    REP1(v,V) {
        s += village[v];
        sum[v][1] = v * village[v] - s;
    }

    for (int p=1; p <= P-1; p++) {
        for (int v1=p; v1 <= V; v1++) {
            int k = v1, v2 = v1+1;
            int s1 = village[v1], s2 = village[v1];
            while (v2 <= V) {
                if (village[v2] - village[k+1] <= village[k+1] - village[v1]) {
                    s2 += village[v2];
                    sum[v2][p+1] = MIN(sum[v2][p+1], sum[v1][p] + (s1 - (k-v1+1)*village[v1]) + ((v2-k)*village[v2] - (s2-s1)));
                    v2 ++;
                } else {
                    k ++;
                    s1 += village[k];
                }
            }
        }

//      REP1(i,P) {
//          REP1(j, V) cout << sum[j][i] << ' '; cout << endl;
//      }
//      cout << endl;
    }

    int min = INF;
    s = 0;
    for (int v=V; v>0; v--) {
        s += village[v];
        min = MIN(min, sum[v][P] + s - (V-v+1)*village[v]);
    }
    cout << min << endl;
    return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator