Блог пользователя gaddopur_coder

Автор gaddopur_coder, история, 5 лет назад, По-английски

I solved this problem https://codeforces.me/problemset/problem/1335/F get memory limit exceed on test case 46 by this solution https://codeforces.me/contest/1335/submission/76658211 and get accepted by this solution https://codeforces.me/contest/1335/submission/77233784. I only change the type to resize and initialize the vector;

// where n*m <= 1e6;

vector<vector<int> > vis;
   vector<vector<int> > cur;
   vector<vector<int> > dis;
   vector<vector<int> > size;
   vector<vector<int> > r;
   vector<vector<char> > c;
   vector<vector<char> > path;
   
    vis.resize(n);
    path.resize(n);
    cur.resize(n); // by this get memory limit exceed.
    c.resize(n);
    dis.resize(n);
    r.resize(n);
    siz.resize(n);
    for(int i = 0; i < n; i++){
        vis[i].resize(m, 0);
        path[i].resize(m);
        cur[i].resize(m, 0);
        c[i].resize(m);
        dis[i].resize(m, -1);
        r[i].resize(m, -1);
        siz[i].resize(m, 0);
        for(int j = 0; j < m; j++){
            siz[i][j] = vis[i][j] = cur[i][j] = 0;
            r[i][j] = dis[i][j] = -1;
            cin >> c[i][j];
        }
    }


    vis.resize(n);
    path.resize(n);
    cur.resize(n);
    c.resize(n);
    dis.resize(n);
    r.resize(n);  //  by this get accepted
    siz.resize(n);
    for(int i = 0; i < n; i++){
        vis[i].resize(m);
        cur[i].resize(m);
        dis[i].resize(m);
        r[i].resize(m);
        siz[i].resize(m);
        c[i].resize(m);
        path[i].resize(m);
        for(int j = 0; j < m; j++){
            siz[i][j] = vis[i][j] = cur[i][j] = 0;
            r[i][j] = dis[i][j] = -1;
            cin >> c[i][j];
        }
    }

What wrong's in it I don't understand.

  • Проголосовать: нравится
  • +9
  • Проголосовать: не нравится

»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by gaddopur_coder (previous revision, new revision, compare).

»
5 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

Resubmitting your solution gives the AC verdict.

Edit: It looks like it varies with the compiler (you used different versions of C++ for each).