답안 #152122

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
152122 2019-09-06T14:50:18 Z username Naan (JOI19_naan) C++14
29 / 100
156 ms 6168 KB
#pragma GCC optimize("O3")
#include<stdint.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
#include<ext/rope>
using namespace __gnu_pbds;
using namespace __gnu_cxx;
#define VIS(it,con) for(auto it=con.begin();it!=con.end();++it)
#define pob pop_back
#define pf push_front
#define pof pop_front
#define MIN(x,y) (x=min(x,(y)))
#define MAX(x,y) (x=max(x,(y)))
#define mid (l+r>>1)
#define lch (idx*2+1)
#define rch (idx*2+2)
/*****************************************************************************/
#include<bits/stdc++.h>
#define int int_fast64_t
using namespace std;
typedef pair<int,int> pii;
#define REP(i,j,k) for(register int i=(j);i<(k);++i)
#define RREP(i,j,k) for(register int i=int(j)-1;i>=(k);--i)
#define ALL(a) a.begin(),a.end()
#define pb push_back
#define f first
#define s second
#define endl '\n'
																#define __debug
#ifdef __debug
	#define IOS (void)0
	#define de(...) cerr<<__VA_ARGS__
	#define ar(a,s,t) {REP(__i,s,t)de(a[__i]<<' ');de(endl);}
#else
	#define IOS cin.tie(0),cout.tie(0),ios_base::sync_with_stdio(false)
	#define de(...) (void)0
	#define ar(...) (void)0
#endif
/***********************************default***********************************/
const int maxn=2009;
int n,l,p[maxn],v[maxn][maxn];
bitset<maxn>us;

bool operator<(pii a,pii b){
	int k=a.f/a.s-b.f/b.s;
	return k?k<0:(a.f%a.s)*b.s<(b.f%b.s)*a.s;
}

main(){
	IOS;
	cin>>n>>l;
	REP(i,0,n){
		v[i][0]=0;
		REP(j,0,l)cin>>v[i][j+1],v[i][j+1]+=v[i][j];
	}
	pii cur={0,1};
	REP(i,0,n){
		int opt=-1;
		pii ls={l+1,1};
		REP(j,0,n){
			if(us[j])continue;
			int k=cur.f/cur.s;
			pii t={v[j][k]*n*cur.s+(v[j][k+1]-v[j][k])*(cur.f%cur.s)*n+v[j][l]*cur.s,n*cur.s};
			while(k<l&&v[j][k+1]*t.s<=t.f)++k;
			int vv=v[j][k+1]-v[j][k];
			t={k*vv*n+__int128(t.f*n+t.s-1)/t.s-v[j][k]*n,vv*n};
			if(t<ls)opt=j,ls=t;
		}
		p[i]=opt;
		us[opt]=1;
		cur=ls;
		if(i+1<n)cout<<ls.f<<" "<<ls.s<<endl;
	}
	REP(i,0,n)cout<<p[i]+1<<" ";
}

Compilation message

naan.cpp:49:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 4 ms 380 KB Output is correct
3 Correct 4 ms 376 KB Output is correct
4 Correct 4 ms 376 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 3 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 4 ms 376 KB Output is correct
12 Correct 4 ms 380 KB Output is correct
13 Correct 4 ms 376 KB Output is correct
14 Correct 4 ms 376 KB Output is correct
15 Correct 4 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 4 ms 376 KB Output is correct
4 Correct 5 ms 504 KB Output is correct
5 Correct 4 ms 380 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 3 ms 372 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 504 KB Output is correct
11 Correct 4 ms 376 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 3 ms 376 KB Output is correct
14 Correct 5 ms 504 KB Output is correct
15 Correct 4 ms 376 KB Output is correct
16 Correct 5 ms 376 KB Output is correct
17 Correct 5 ms 504 KB Output is correct
18 Correct 5 ms 376 KB Output is correct
19 Correct 5 ms 376 KB Output is correct
20 Correct 5 ms 504 KB Output is correct
21 Correct 5 ms 376 KB Output is correct
22 Correct 5 ms 504 KB Output is correct
23 Correct 2 ms 376 KB Output is correct
24 Correct 4 ms 376 KB Output is correct
25 Correct 5 ms 376 KB Output is correct
26 Correct 4 ms 376 KB Output is correct
27 Correct 5 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 4 ms 380 KB Output is correct
3 Correct 4 ms 376 KB Output is correct
4 Correct 4 ms 376 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 3 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 4 ms 376 KB Output is correct
12 Correct 4 ms 380 KB Output is correct
13 Correct 4 ms 376 KB Output is correct
14 Correct 4 ms 376 KB Output is correct
15 Correct 4 ms 376 KB Output is correct
16 Correct 3 ms 376 KB Output is correct
17 Correct 3 ms 376 KB Output is correct
18 Correct 4 ms 376 KB Output is correct
19 Correct 5 ms 504 KB Output is correct
20 Correct 4 ms 380 KB Output is correct
21 Correct 3 ms 376 KB Output is correct
22 Correct 3 ms 372 KB Output is correct
23 Correct 3 ms 376 KB Output is correct
24 Correct 5 ms 376 KB Output is correct
25 Correct 5 ms 504 KB Output is correct
26 Correct 4 ms 376 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 3 ms 376 KB Output is correct
29 Correct 5 ms 504 KB Output is correct
30 Correct 4 ms 376 KB Output is correct
31 Correct 5 ms 376 KB Output is correct
32 Correct 5 ms 504 KB Output is correct
33 Correct 5 ms 376 KB Output is correct
34 Correct 5 ms 376 KB Output is correct
35 Correct 5 ms 504 KB Output is correct
36 Correct 5 ms 376 KB Output is correct
37 Correct 5 ms 504 KB Output is correct
38 Correct 2 ms 376 KB Output is correct
39 Correct 4 ms 376 KB Output is correct
40 Correct 5 ms 376 KB Output is correct
41 Correct 4 ms 376 KB Output is correct
42 Correct 5 ms 376 KB Output is correct
43 Incorrect 156 ms 6168 KB Integer parameter [name=A_i] equals to -518997142, violates the range [1, 2000000000000]
44 Halted 0 ms 0 KB -