Submission #919023

#TimeUsernameProblemLanguageResultExecution timeMemory
919023hungtien2202Bob (COCI14_bob)C++14
0 / 120
1045 ms8284 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;

ll n,m;
ll grid[1005][1005];

ll solve(int target) {
    ll cnt = 0;

    for (int l=1;l<=m;l++) {
        vector<ll> heights(n, 0);
        for (int r=l;r<=m;r++) {
            for (int i=1;i<=n;i++) {
                if (grid[i][r] == target) {
                    heights[i-1]++;
                } else {
                    heights[i-1] = 0;
                }
            }
            ll cur = 0;
            for (int i=1;i<=n;i++) {
                if (heights[i-1] == r - l + 1) {
                    cur++;
                }
                else {
                    cnt += cur*(cur+1) /2;
                    cur = 0;
                }
            }
            cnt += cur*(cur+1) / 2;
        }
    }
    return cnt;
}

int main() {
    scanf("%lld", &n);
    scanf("%lld", &m);
    for (int i=1;i<=n;i++) {
        for (int j=1;j<=m;j++) {
            scanf("%lld", &grid[i][j]);
        }
    }
    cout << solve(1) + solve(2);
    return 0;
}

Compilation message (stderr)

bob.cpp: In function 'int main()':
bob.cpp:38:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   38 |     scanf("%lld", &n);
      |     ~~~~~^~~~~~~~~~~~
bob.cpp:39:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |     scanf("%lld", &m);
      |     ~~~~~^~~~~~~~~~~~
bob.cpp:42:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |             scanf("%lld", &grid[i][j]);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...