제출 #171828

#제출 시각아이디문제언어결과실행 시간메모리
171828RafaelSusNice sequence (IZhO18_sequence)C++14
15 / 100
10 ms1016 KiB
#include <bits/stdc++.h>
 
using namespace std;
const int N = 2e5 + 5;
typedef long long ll;
const ll inf=1e15;
#define pb push_back
const int INF=(0x3f3f3f3f);
 
int main(){
  ios::sync_with_stdio(false);
  cin.tie(0);cout.tie(0);
 
  int t;
  cin>>t;
  
  while(t-->0){
    int n,m;
    cin>>n>>m;
    if(max(n,m)%min(n,m)==0){
      cout<<max(n,m)-1<<'\n';
      int x=-1;
      if(n==max(n,m))x=1;
      for(int i=0;i<max(n,m)-1;i++)cout<<(i+1)*x<<' ';
      cout<<'\n';
    }else if(min(n,m)==2){
      cout<<max(n,m)<<'\n';
      int x=-1;
      if(n==2)x=1;
      int tmp=max(n,m);
      int tm=(max(n,m)+1)*(-1);
      vector<int>answ;
      for(int i=0;i<max(n,m);i++){
        if(i%2==0){
          answ.pb(tmp);
          tmp--;
        }else{
          answ.pb(tm);
          tm++;
        }
      }
      for(int i=0;i<answ.size();i++){
        cout<<answ[i]*x<<' ';
      }
      cout<<'\n';
    }else{
      if(n>m)
        while(__gcd(n,m)!=1)n--;
      else 
        while(__gcd(n,m)!=1)m--;
      cout<<max(n,m)<<'\n';
      int x=-1;
      if(n==2)x=1;
      int tmp=max(n,m);
      int tm=(max(n,m)+1)*(-1);
      vector<int>answ;
      for(int i=0;i<max(n,m);i++){
        if(i%2==0){
          answ.pb(tmp);
          tmp--;
        }else{
          answ.pb(tm);
          tm++;
        }
      }
      for(int i=0;i<answ.size();i++){
        answ[i]*=x;
      }
      int su=0;
      for(int i=0;i<min(n,m);i++){
        su+=answ[i];
      }
      if(n<m&&su>0){
        for(int i=0;i<answ.size();i++){
          answ[i]*=-1;
        }
      }else if(n>m&&su<0){
        for(int i=0;i<answ.size();i++){
          answ[i]*=-1;
        }
      }
      for(int i=0;i<answ.size();i++){
        cout<<answ[i]<<' ';
      }
      cout<<'\n';
    }
  }
}

컴파일 시 표준 에러 (stderr) 메시지

sequence.cpp: In function 'int main()':
sequence.cpp:42:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for(int i=0;i<answ.size();i++){
                   ~^~~~~~~~~~~~
sequence.cpp:66:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for(int i=0;i<answ.size();i++){
                   ~^~~~~~~~~~~~
sequence.cpp:74:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<answ.size();i++){
                     ~^~~~~~~~~~~~
sequence.cpp:78:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<answ.size();i++){
                     ~^~~~~~~~~~~~
sequence.cpp:82:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for(int i=0;i<answ.size();i++){
                   ~^~~~~~~~~~~~
#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...