제출 #385623

#제출 시각아이디문제언어결과실행 시간메모리
385623vanicNice sequence (IZhO18_sequence)C++14
0 / 100
2 ms364 KiB
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cassert> #include <vector> using namespace std; void solve(){ vector < int > nez2; int n, m; cin >> n >> m; int sol2; int sol; int x; if(n>m){ sol=(n+m-1)/m*m-1; int br=(sol+m-1)/m+1; nez2.push_back(-br*(m-1)+1); x=1; while(x+m<=n){ for(int i=0; i<m-1; i++){ nez2.push_back(br); } nez2.push_back(-br*(m-1)+1); x+=m; } sol2=nez2.size()+(n-nez2.size())*2; if(n==m || m==1 || sol>sol2){ cout << sol << '\n'; for(int i=1; i<=sol; i++){ if(i%m){ cout << -br << ' '; } else{ cout << br*(m-1)+1 << ' '; } } cout << '\n'; } else{ cout << sol2 << '\n'; for(int i=0; i<n-(int)nez2.size(); i++){ cout << br << ' '; } for(int i=0; i<(int)nez2.size(); i++){ cout << nez2[i] << ' '; } for(int i=0; i<n-(int)nez2.size(); i++){ cout << br << ' '; } cout << '\n'; } } else{ sol=(n+m-1)/n*n-1; int br=(sol+n-1)/n+1; nez2.push_back(br*(n-1)-1); x=1; while(x+n<=m){ for(int i=0; i<n-1; i++){ nez2.push_back(-br); } nez2.push_back(br*(n-1)-1); x+=n; } sol2=nez2.size()+(m-nez2.size())*2; if(m==n || n==1 || sol>sol2){ cout << sol << '\n'; for(int i=1; i<=sol; i++){ if(i%n){ cout << br << ' '; } else{ cout << -br*(n-1)-1 << ' '; } } cout << '\n'; } else{ cout << sol2 << '\n'; for(int i=0; i<m-(int)nez2.size(); i++){ cout << -br << ' '; } for(int i=0; i<(int)nez2.size(); i++){ cout << nez2[i] << ' '; } for(int i=0; i<m-(int)nez2.size(); i++){ cout << -br << ' '; } cout << '\n'; } } // cout << sol << ' ' << sol2 << '\n'; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin >> t; while(t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...