Submission #145522

#TimeUsernameProblemLanguageResultExecution timeMemory
145522peijarBob (COCI14_bob)C++14
120 / 120
617 ms17940 KiB
#include <bits/stdc++.h> using namespace std; #define FOR(i, j, n) for (int i(j); i < n; ++i) #define FORR(v, c) for (auto &v : c) #define F first #define S second #define SQ(x) (x)*(x) #define pb push_back #define all(c) (c).begin(), (c).end() #define rall(c) (c).rbegin(), (c).rend() #define dbg(x) cerr<<#x<<" = " << (x) << endl #define pnl(x) cout << x << '\n' #define pns(x) cout << x << ' ' #define read(x) cin >> x #define read2(x,y) cin >> x >> y #define read3(x, y, z) cin >> x >> y >> z #define read4(a, b, c, d) cin >> a >> b >> c >> d #define readv(v) FORR(c,v) read(c) struct Arrete { int v, c;}; struct Point {int x, y; double distance(Point other) const {return sqrt(SQ(x-other.x)+SQ(y-other.y));}}; typedef vector<int> vi; typedef pair<int,int> ii; typedef vector<string> vs; typedef vector<ii> vii; typedef vector<Arrete> vg; typedef vector<long long> vl; typedef long long ll; const int MAXN = 1e3; int height[MAXN][MAXN]; int lowest[MAXN][MAXN]; int N,M; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); read2(N,M); FOR(i,0,N) FOR(j,0,M) read(height[i][j]); for (int col(0); col < M; ++col) { lowest[N-1][col] = 1; for (int line(N-2); line >= 0; --line) { if (height[line][col] == height[line+1][col]) lowest[line][col] = lowest[line+1][col]+1; else lowest[line][col] = 1; } } ll ans(0); for (int line(0); line < N; ++line) for (int col(0); col < M; ++col) { int low = lowest[line][col]; int k = 0; while (col + k < M && height[line][col + k] == height[line][col]) { low = min(low, lowest[line][col+k++]); ans += low; } } pnl(ans); }
#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...