Submission #1242651

#TimeUsernameProblemLanguageResultExecution timeMemory
1242651haithamcoderRectangles (IOI19_rect)C++20
Compilation error
0 ms0 KiB
#include "rect.h"
#include <cstdio>
#include <unistd.h>
#include <cassert>
#include <string>
#include<bits/stdc++.h>
using namespace std;
// typedef long long ll;
#define ll int

#define db(x) cerr << #x << " = " << x << " | "
#define dbg(x) cerr << #x << " = " << x << "\n"


long long count_rectangles(std::vector<std::vector<int>> a) {
	ll n = a.size(), m = a[0].size();
	if (n <= 2) return 0;

	long long res = 0;
	for (ll j = 1; j < m - 1; j++) {
		if (a[1][j - 1] <= a[1][j] || a[1][j + 1] <= a[1][j]) continue;

		ll mx = a[1][j];
		for (ll k = j; k < m - 1; k++) {
			if (a[0][k] <= a[1][k] || a[2][k] <= a[1][k]) {
				break;
			} else {
				mx = max(mx, a[1][k]);
				if (a[1][k + 1] <= mx) break; 
				else res++;
			} 
		}
	}

	return res;
}


class InputReader {
private:
	static const int SIZE = 4096;
	
	int inputFileDescriptor;
	char buf[SIZE];
	int curChar;
	int numChars;

public:

	inline InputReader(int _inputFileDescriptor):
		inputFileDescriptor(_inputFileDescriptor),
		curChar(0),
		numChars(0) {
	}

	inline void close() {
		::close(inputFileDescriptor);
	}

	inline char read() {
		assert(numChars != -1);
		if (curChar >= numChars) {
			curChar = 0;
			numChars = ::read(inputFileDescriptor, buf, SIZE);
			if (numChars == -1)
				return -1;
		}
		return buf[curChar++];
	}

	inline int readInt() {
		int c = eatWhite();
		int sgn = 1;
		if (c == '-') {
			sgn = -1;
			c = read();
		}
		int res = 0;
		do {
			assert(c >= '0' && c <= '9');
			res *= 10;
			res += c - '0';
			c = read();
		} while (!isSpaceChar(c));
		return res * sgn;
	}

	inline string readString() {
		char c = eatWhite();
		string res;
		do {
			res += c;
			c = read();
		} while (!isSpaceChar(c));
		return res;
	}

	inline string readLine() {
		string res;
		while (true) {
			char c = read();
			if (c == '\n' || c == '\r' || c == -1)
				break;
			res += c;
		}
		return res;
	}

	inline char eatWhite() {
		char c = read();
		while (isSpaceChar(c)) 
			c = read();
		return c;
	}

	static inline bool isSpaceChar(char c) {
		return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
	}
};


int main() {
	InputReader inputReader(STDIN_FILENO);
	int n, m;
	n = inputReader.readInt();
	m = inputReader.readInt();
	vector<vector<int>> a(n, vector<int>(m));
	for (int i = 0; i < n; i++)	{
		for (int j = 0; j < m; j++) {
			a[i][j] = inputReader.readInt();
		}
	}
	inputReader.close();

	long long result = count_rectangles(a);

	printf("%lld\n", result);
	fclose(stdout);
	return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccSG0XqR.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccZt2WUQ.o:rect.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status