Cod sursă (job #643232)

Utilizator avatar cristia_razvan Cristia Razvan cristia_razvan IP ascuns
Problemă Romb2 (clasele 9-10) Compilator cpp-32 | 0.89 kb
Rundă vaslui_cls10_23.03 Status evaluat
Dată 23 mar. 2022 19:59:45 Scor 0
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

#define dbg(x) cout << #x <<": " << x << "\n";
using ll = long long;

const string fn = "file";
ifstream fin(fn + ".in");
ofstream fout(fn + ".out");

int n;
int a[100005], b[100005], sp[100005];
map<int, int> mp;
int main() {

	fin >> n;
	for (int i = 1; i <= n; ++i)
		fin >> a[i], b[i] = a[i];
	// sort(b + 1, b + n + 1);
	// for (int i = 1; i <= n; ++i)
	// 	if (mp[b[i]] == 0)
	// 		mp[b[i]] = i;
	// for (int i = 1; i <= n; ++i)
	// 	a[i] = mp[a[i]];
	mp[0]++;
	for (int i = 1; i <= n; ++i) {
		sp[i] += a[i] + sp[i - 1];
		mp[sp[i]]++;
	}
	for (int i = 1; i <= n; ++i)
		fout << sp[i] << " ";
	fout << '\n';
	int ans  = 0;
	//cout << mp[0] << " ";
	for (int i = 0; i < n; ++i) {
		ans += mp[sp[i]] - 1;
		cout << mp[sp[i]] << " ";
		fout << ans << ' ';
		mp[sp[i]] -= 2;
	}

	return 0;
}