Submission #385583

#TimeUsernameProblemLanguageResultExecution timeMemory
385583vanicNice sequence (IZhO18_sequence)C++14
15 / 100
12 ms876 KiB
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cassert> #include <vector> using namespace std; vector < int > nez; void solve(){ int n, m; cin >> n >> m; int sol=n-1; int x; bool p; if(n>m){ sol=(n+m-1)/m*m-1; int br=(sol+m-1)/m+1; if(sol!=n || m<3){ cout << sol << '\n'; for(int i=1; i<=sol; i++){ if(i%m){ cout << -br << ' '; } else{ cout << br*(m-1)+1 << ' '; } } cout << '\n'; } else{ for(int i=0; i<m-2; i++){ nez.push_back(-br); } nez.push_back(br*(m-1)+1); x=m-1; p=1; while(p){ if(x+m>n){ p=0; for(int i=0; i<m-2; i++){ nez.push_back(-br); } x+=m-2; } else{ for(int i=0; i<m-1; i++){ nez.push_back(-br); } nez.push_back(br*(m-1)+1); x+=m; } } cout << nez.size() << '\n'; for(int i=0; i<(int)nez.size(); i++){ cout << nez[i] << ' '; } cout << '\n'; } } else{ sol=(n+m-1)/n*n-1; int br=(sol+n-1)/n+1; if(sol!=m || n<3){ cout << sol << '\n'; for(int i=1; i<=sol; i++){ if(i%n){ cout << br << ' '; } else{ cout << -br*(n-1)-1 << ' '; } } cout << '\n'; } else{ for(int i=0; i<n-2; i++){ nez.push_back(br); } nez.push_back(-br*(n-1)-1); x=n-1; p=1; while(p){ if(x+n>m){ p=0; for(int i=0; i<n-2; i++){ nez.push_back(br); } x+=n-2; } else{ for(int i=0; i<n-1; i++){ nez.push_back(br); } nez.push_back(-br*(n-1)-1); x+=n; } } cout << nez.size() << '\n'; for(int i=0; i<(int)nez.size(); i++){ cout << nez[i] << ' '; } cout << '\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...