Submission #1349151

#TimeUsernameProblemLanguageResultExecution timeMemory
1349151MuhammadSaramNaan (JOI19_naan)C++20
0 / 100
11 ms632 KiB
#include <bits/stdc++.h>

using namespace std;

#define endl '\n'
#define ld long double
#define int long long
#define all(v) v.begin(), v.end()

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(NULL), cout.tie(NULL);

	int n,l,ab=1e9;
	cin>>n>>l;
	ld a[n][l], rq[n], rq1[n];
	vector<int> v(n),v1;
	for (int i=0;i<n;i++)
	{
		v[i]=i;ld su=0;
		for (int j=0;j<l;j++)
			cin>>a[i][j], su+=a[i][j];
		rq[i]=rq1[i]=su/(ld)n;
	}
	v1=v;
	do
	{
		v=v1;
		ld su=0;
		vector<ld> ps;
		while (v.size() && su<l)
		{
			int x=su, i=v.back();
			ld z=rq[i]/a[i][x];
			if (z+su<=x+1)
				su+=z, v.pop_back(), ps.push_back(su);
			else
				rq[i]-=((ld)x+1-su)*a[i][x], su=x+1;
		}
		if (v.empty())
		{
			for (int i=0;i<n-1;i++)
			{
				int x=ps[i]*ab;
				cout<<x<<' '<<ab<<endl;
			}
			for (int i:v1)
				cout<<i+1<<' ';
			cout<<endl;
			return 0;
		}
		for (int i=0;i<n;i++) rq[i]=rq1[i];
	}while (next_permutation(all(v1)));
	cout<<-1<<endl;

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...