111

刘益梵  •  8天前


#include<bits/stdc++.h> 
using namespace std; 
int zdgys(int n,int m){ 
int gys=0; 
for(int i=m;i>=1;i--){ 
 int sum=n; 
 if(n<m) sum=m; 
 if(n%i==0 && m%i==0){ 
  gys=i; 
  return gys; 
 }  

return 1; 

int main(){ 
int n,m; 
cin>>n>>m; 
cout<<zdgys(n,m); 
return 0; 
}


评论:

又到过年了,狗熊岭的动物们都忙碌起来,张灯结彩准备过年。李老板却要光头强砍掉一些百年美人松回去。美人松都是很高的,但是也不会超过长整型(long long)。现在光头强看到丛林里有N颗美人松按照从矮到高排好了,当然每棵松的高度都是已知的。李老板要问光头强M次:每次询问高度为K的美人松是否存在?

输入

第一行,两个正整数N,M 1<=N<=10^6,1<=M<=10^3;

第二行,N个正整数,之间用一个空格隔开,表示N棵美人松的高度;

第三行M个正整数k,表示M个询问,每次询问高度为K的美人松是否存在,1<=k<=100000。

(提示:要用scanf读入,否则会超时)


 


 

输出

一行M个正整数,之间用一个空格隔开,分别表示对应每次询问高度为K的树的查询结果,如果存在,则输出1,不存在则输出0

样例

样例输入1

5 2 2 3 3 4 5 3 6

样例输出1

1 0


顾文博  •  6天前

#include <cstdio> #include <iostream> using namespace std; long long exist[1000001]; int main() { int N, M; scanf("%d %d", &N, &M); int height; for (int i = 0; i < N; ++i) { scanf("%d", &height); exist[height] =1; } for (int i = 0; i < M; ++i) { int k; scanf("%d", &k); if (exist[k] > 0){ cout<<1<<" "; } else{ cout<<0;return 0; } } return 0; }


顾文博  •  6天前

#include <cstdio> 
#include <iostream> 
using namespace std; 

int exist[1000001];  // 用 int 就够了,不需要 long long 

int main() { 
   int N, M; 
   scanf("%d %d", &N, &M); 
    
   int height; 
   for (int i = 0; i < N; ++i) { 
       scanf("%d", &height); 
       exist[height] = 1; 
   } 
    
   for (int i = 0; i < M; ++i) { 
       int k; 
       scanf("%d", &k); 
       if (exist[k] > 0) { 
           cout << 1; 
       }  
       else { 
           cout << 0; 
       } 
       // 除了最后一个数字,后面都加空格 
       if (i < M - 1) { 
           cout << " "; 
       } 
   } 
   
   return 0; 
}


冯诚阳  •  6天前

#include <cstdio> 
#include <map> 
using namespace std; 

int main() { 
   int N, M; 
   scanf("%d %d", &N, &M); 
    
   map<long long, int> cnt;  // 用long long更安全 
    
   // 读入N个高度 
   for (int i = 0; i < N; ++i) { 
       long long height; 
       scanf("%lld", &height);  // 用%lld读long long 
       cnt[height]++; 
   } 
    
   // 处理M个查询 
   for (int i = 0; i < M; ++i) { 
       long long k; 
       scanf("%lld", &k); 
        
       printf("%d", cnt[k]);  // map直接访问 
        
       if (i < M - 1) { 
           printf(" "); 
       } 
   } 
    
   return 0; 
}


冯诚阳  •  6天前