Submission #483198

# Submission time Handle Problem Language Result Execution time Memory
483198 2021-10-28T06:58:19 Z Koosha_mv timeismoney (balkan11_timeismoney) C++14
35 / 100
2000 ms 332 KB
#include <bits/stdc++.h>
using namespace std;
#define erorp(x) cout<<#x<<"={"<<(x.F)<<" , "<<x.S<<"}"<<endl
#define print(v,r) f(i,0,r) cout<<v[i]<<" "; cout<<endl
#define eror(x) cout<<#x<<'='<<(x)<<endl
#define f_(i,a,b) for(int i=a;i>=b;i--)
#define f(i,a,b) for(int i=a;i<b;i++)
#define nb(x) __builtin_popcount(x)
#define maxm(a,b) a=max(a,b)
#define minm(a,b) a=min(a,b)
#define Add(x,y) x=(x+y)%mod
#define lst(x) x[x.size()-1]
#define sz(x) int(x.size())
#define mp make_pair
#define ll long long
#define pb push_back
#define S second
#define F first
#define int ll
 
const int N=270,M=10101,Mx=55000;
 
int n,m,ans1=1e9,ans2=1e9,s[N],t[N],a[N],b[N],par[N];
vector<pair<int,int> > v,mv,vans;
 
int Get_par(int u){
	if(par[u]<0) return u;
	return par[u]=Get_par(par[u]);
}
void merge(int u,int v){
	u=Get_par(u),v=Get_par(v);
	if(par[u]>par[v]) swap(u,v);
	par[u]+=par[v];
	par[v]=u;
}
void find_mst(){
	fill(par,par+N,-1);
	sort(v.begin(),v.end());
	mv.clear();
	int sum1=0,sum2=0;
	f(i,0,v.size()){
		int x=s[v[i].S],y=t[v[i].S];
		//cout<<x<<" "<<y<<endl;
		if(Get_par(x)!=Get_par(y)){
		//	eror(x);
			sum1+=a[v[i].S],sum2+=b[v[i].S];
			merge(x,y);
			mv.pb(mp(x,y));
		}
	}
	if(1ll*sum1*sum2<1ll*ans1*ans2){
		ans1=sum1,ans2=sum2;
		vans=mv;
	}
}
void solve(){
	f(i,-N,N){
		f(j,-N,N){
			v.clear();
			f(k,0,m){
				v.pb(mp((a[k]+i)*(b[k]+j),k));
			}
			find_mst();
		}
	}
}
 
main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin>>n>>m;
	f(i,0,m){
		cin>>s[i]>>t[i]>>a[i]>>b[i];
	}
	solve();
	f(i,0,m){
		swap(a[i],b[i]);
	}
	solve();
	cout<<ans1<<" "<<ans2<<endl;
	f(i,0,vans.size()){
		cout<<vans[i].F<<" "<<vans[i].S<<endl;
	}
}
/*
5 7
0 1 161 79
0 2 161 15
0 3 13 153
1 4 142 183
2 4 236 80
3 4 40 241
2 1 65 92
*/

Compilation message

timeismoney.cpp: In function 'void find_mst()':
timeismoney.cpp:7:31: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 | #define f(i,a,b) for(int i=a;i<b;i++)
......
   41 |  f(i,0,v.size()){
      |    ~~~~~~~~~~~~                
timeismoney.cpp:41:2: note: in expansion of macro 'f'
   41 |  f(i,0,v.size()){
      |  ^
timeismoney.cpp: At global scope:
timeismoney.cpp:68:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   68 | main(){
      | ^~~~
timeismoney.cpp: In function 'int main()':
timeismoney.cpp:7:31: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 | #define f(i,a,b) for(int i=a;i<b;i++)
......
   80 |  f(i,0,vans.size()){
      |    ~~~~~~~~~~~~~~~             
timeismoney.cpp:80:2: note: in expansion of macro 'f'
   80 |  f(i,0,vans.size()){
      |  ^
# Verdict Execution time Memory Grader output
1 Execution timed out 2082 ms 332 KB Time limit exceeded
2 Correct 319 ms 304 KB Output is correct
3 Correct 512 ms 316 KB Output is correct
4 Correct 1601 ms 304 KB Output is correct
5 Incorrect 1688 ms 332 KB Output isn't correct
6 Incorrect 445 ms 304 KB Output isn't correct
7 Incorrect 1043 ms 308 KB Output isn't correct
8 Incorrect 1627 ms 312 KB Output isn't correct
9 Correct 373 ms 308 KB Output is correct
10 Correct 857 ms 308 KB Output is correct
11 Correct 580 ms 296 KB Output is correct
12 Correct 1973 ms 308 KB Output is correct
13 Incorrect 1914 ms 308 KB Output isn't correct
14 Incorrect 351 ms 304 KB Output isn't correct
15 Incorrect 870 ms 308 KB Output isn't correct
16 Incorrect 369 ms 304 KB Output isn't correct
17 Execution timed out 2077 ms 332 KB Time limit exceeded
18 Execution timed out 2070 ms 204 KB Time limit exceeded
19 Incorrect 1843 ms 332 KB Output isn't correct
20 Incorrect 739 ms 312 KB Output isn't correct