結果

問題 No.3677 Global Checksum
コンテスト
ユーザー cho435
提出日時 2026-09-05 00:02:30
言語 C++23
(gcc 15.3.0 + boost 1.92.0)
コンパイル:
g++-15 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 6,138 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 3,809 ms
コンパイル使用メモリ 383,376 KB
実行使用メモリ 23,188 KB
最終ジャッジ日時 2026-09-05 00:02:39
合計ジャッジ時間 6,378 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 3
other WA * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>
#include <atcoder/all>

// https://github.com/NachiaVivias/cp-library/blob/main/Cpp/Include/nachia/misc/fastio.hpp
namespace nachia {

class CInStream {
   private:
	static const unsigned int INPUT_BUF_SIZE = 1 << 17;
	unsigned int p = INPUT_BUF_SIZE;
	static char Q[INPUT_BUF_SIZE];

   public:
	using MyType = CInStream;
	char seekChar() {
		if (p == INPUT_BUF_SIZE) {
			size_t len = fread(Q, 1, INPUT_BUF_SIZE, stdin);
			if (len != INPUT_BUF_SIZE) Q[len] = '\0';
			p = 0;
		}
		return Q[p];
	}
	void skipSpace() {
		while (isspace(seekChar())) p++;
	}
	uint32_t nextU32() {
		skipSpace();
		uint32_t buf = 0;
		while (true) {
			char tmp = seekChar();
			if ('9' < tmp || tmp < '0') break;
			buf = buf * 10 + (tmp - '0');
			p++;
		}
		return buf;
	}
	int32_t nextI32() {
		skipSpace();
		if (seekChar() == '-') {
			p++;
			return (int32_t)(-nextU32());
		}
		return (int32_t)nextU32();
	}
	uint64_t nextU64() {
		skipSpace();
		uint64_t buf = 0;
		while (true) {
			char tmp = seekChar();
			if ('9' < tmp || tmp < '0') break;
			buf = buf * 10 + (tmp - '0');
			p++;
		}
		return buf;
	}
	int64_t nextI64() {
		skipSpace();
		if (seekChar() == '-') {
			p++;
			return (int64_t)(-nextU64());
		}
		return (int64_t)nextU64();
	}
	char nextChar() {
		skipSpace();
		char buf = seekChar();
		p++;
		return buf;
	}
	std::string nextToken() {
		skipSpace();
		std::string buf;
		while (true) {
			char ch = seekChar();
			if (isspace(ch) || ch == '\0') break;
			buf.push_back(ch);
			p++;
		}
		return buf;
	}
	MyType& operator>>(unsigned int& dest) {
		dest = nextU32();
		return *this;
	}
	MyType& operator>>(int& dest) {
		dest = nextI32();
		return *this;
	}
	MyType& operator>>(unsigned long& dest) {
		dest = nextU64();
		return *this;
	}
	MyType& operator>>(long& dest) {
		dest = nextI64();
		return *this;
	}
	MyType& operator>>(unsigned long long& dest) {
		dest = nextU64();
		return *this;
	}
	MyType& operator>>(long long& dest) {
		dest = nextI64();
		return *this;
	}
	MyType& operator>>(std::string& dest) {
		dest = nextToken();
		return *this;
	}
	MyType& operator>>(char& dest) {
		dest = nextChar();
		return *this;
	}
} cin;

struct FastOutputTable {
	char LZ[1000][4] = {};
	char NLZ[1000][4] = {};
	constexpr FastOutputTable() {
		using u32 = uint_fast32_t;
		for (u32 d = 0; d < 1000; d++) {
			LZ[d][0] = ('0' + d / 100 % 10);
			LZ[d][1] = ('0' + d / 10 % 10);
			LZ[d][2] = ('0' + d / 1 % 10);
			LZ[d][3] = '\0';
		}
		for (u32 d = 0; d < 1000; d++) {
			u32 i = 0;
			if (d >= 100) NLZ[d][i++] = ('0' + d / 100 % 10);
			if (d >= 10) NLZ[d][i++] = ('0' + d / 10 % 10);
			if (d >= 1) NLZ[d][i++] = ('0' + d / 1 % 10);
			NLZ[d][i++] = '\0';
		}
	}
};

class COutStream {
   private:
	using u32 = uint32_t;
	using u64 = uint64_t;
	using MyType = COutStream;
	static const u32 OUTPUT_BUF_SIZE = 1 << 17;
	static char Q[OUTPUT_BUF_SIZE];
	static constexpr FastOutputTable TB = FastOutputTable();
	u32 p = 0;
	static constexpr u32 P10(u32 d) {
		return d ? P10(d - 1) * 10 : 1;
	}
	static constexpr u64 P10L(u32 d) {
		return d ? P10L(d - 1) * 10 : 1;
	}
	template <class T, class U> static void Fil(T& m, U& l, U x) noexcept {
		m = l / x;
		l -= m * x;
	}
	void next_dig9(u32 x) {
		u32 y;
		Fil(y, x, P10(6));
		nextCstr(TB.LZ[y]);
		Fil(y, x, P10(3));
		nextCstr(TB.LZ[y]);
		nextCstr(TB.LZ[x]);
	}

   public:
	void nextChar(char c) {
		Q[p++] = c;
		if (p == OUTPUT_BUF_SIZE) {
			fwrite(Q, p, 1, stdout);
			p = 0;
		}
	}
	void nextEoln() {
		nextChar('\n');
	}
	void nextCstr(const char* s) {
		while (*s) nextChar(*(s++));
	}
	void nextU32(uint32_t x) {
		u32 y = 0;
		if (x >= P10(9)) {
			Fil(y, x, P10(9));
			nextCstr(TB.NLZ[y]);
			next_dig9(x);
		} else if (x >= P10(6)) {
			Fil(y, x, P10(6));
			nextCstr(TB.NLZ[y]);
			Fil(y, x, P10(3));
			nextCstr(TB.LZ[y]);
			nextCstr(TB.LZ[x]);
		} else if (x >= P10(3)) {
			Fil(y, x, P10(3));
			nextCstr(TB.NLZ[y]);
			nextCstr(TB.LZ[x]);
		} else if (x >= 1) nextCstr(TB.NLZ[x]);
		else nextChar('0');
	}
	void nextI32(int32_t x) {
		if (x >= 0) nextU32(x);
		else {
			nextChar('-');
			nextU32((u32)-x);
		}
	}
	void nextU64(uint64_t x) {
		u32 y = 0;
		if (x >= P10L(18)) {
			Fil(y, x, P10L(18));
			nextU32(y);
			Fil(y, x, P10L(9));
			next_dig9(y);
			next_dig9(x);
		} else if (x >= P10L(9)) {
			Fil(y, x, P10L(9));
			nextU32(y);
			next_dig9(x);
		} else nextU32(x);
	}
	void nextI64(int64_t x) {
		if (x >= 0) nextU64(x);
		else {
			nextChar('-');
			nextU64((u64)-x);
		}
	}
	void writeToFile(bool flush = false) {
		fwrite(Q, p, 1, stdout);
		if (flush) fflush(stdout);
		p = 0;
	}
	COutStream() {
		Q[0] = 0;
	}
	~COutStream() {
		writeToFile();
	}
	MyType& operator<<(unsigned int tg) {
		nextU32(tg);
		return *this;
	}
	MyType& operator<<(unsigned long tg) {
		nextU64(tg);
		return *this;
	}
	MyType& operator<<(unsigned long long tg) {
		nextU64(tg);
		return *this;
	}
	MyType& operator<<(int tg) {
		nextI32(tg);
		return *this;
	}
	MyType& operator<<(long tg) {
		nextI64(tg);
		return *this;
	}
	MyType& operator<<(long long tg) {
		nextI64(tg);
		return *this;
	}
	MyType& operator<<(const std::string& tg) {
		nextCstr(tg.c_str());
		return *this;
	}
	MyType& operator<<(const char* tg) {
		nextCstr(tg);
		return *this;
	}
	MyType& operator<<(char tg) {
		nextChar(tg);
		return *this;
	}
} cout;

char CInStream::Q[INPUT_BUF_SIZE];
char COutStream::Q[OUTPUT_BUF_SIZE];

}  // namespace nachia

using namespace std;
using ll = long long;
#define rep(i, s, t) for (ll i = s; i < (ll)(t); i++)
#define all(x) begin(x), end(x)
template <class T> bool chmin(T& x, T y) {
	return x > y ? (x = y, true) : false;
}
template <class T> bool chmax(T& x, T y) {
	return x < y ? (x = y, true) : false;
}

using u32 = uint32_t;

void solve() {
}

mt19937 mt(random_device{}());

int main() {
	int h, w;
	nachia::cin >> h >> w;
	vector<u32> a(h * w);
	// rep(i, 0, h) rep(j, 0, w) cin >> a[i * w + j];
	rep(i, 0, h) rep(j, 0, w) a[i * w + j] = mt();
	vector<u32> s(h);
	rep(i, 0, h) rep(j, 0, w) s[i] += a[i * w + j];
	u32 t = 0;
	rep(i, 0, h) t += s[i];
	rep(i, 0, h) nachia::cout << (s[i] + t) << '\n';
}
0