23
December
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
#include<iostream>
#include<vector>
#include<map>
#include<functional>
#include<algorithm>
#include<string>
#include<climits>
using namespace std;
class SplitIntoPairs{
public:
int makepairs(vector<int> A,int X){
sort(A.begin(),A.end());
int cnt=0;
for(int i=0;i<A.size()-1;i+=2)
if((long long)A[i]*A[i+1] >= X)cnt++;
return cnt;
}
};
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<functional>
#include<climits>
#include<string>
using namespace std;
class MiddleCode{
public:
string encode(string s){
string t;
while(!s.empty()){
if(s.size()%2 == 0){
//even number
if(s[s.size()/2-1]<s[s.size()/2]){
t.push_back(s[s.size()/2-1]);
s.erase(s.size()/2-1,1);
}else{
t.push_back(s[s.size()/2]);
s.erase(s.size()/2,1);
}
}
else{
//odd number
t.push_back(s[s.size()/2]);
s.erase(s.size()/2,1);
}
}
return t;
}
};
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<string>
using namespace std;
class TypoCoderDiv2{
public:
int count(vector rating){
bool c=true;
int cnt=0;
for(int i=0;i<rating.size();i++){
if(i==0){
if(rating[i] >= 1200){c=true;cnt++;}
else c=false;
}
else{
if(c){
if(rating[i]<1200){c=false;cnt++;}
}
else if(c==false){
if(rating[i]>=1200){c=true;cnt++;}
}
}
}
return cnt;
}
};
#include<iostream>
#include<vector>
#include<map>
#include<string>
#include<climits>
#include<algorithm>
using namespace std;
class WinterAndMandarins{
public:
int getNumber(vector <int> bags, int K){
sort(bags.begin(),bags.end());
int ret=INT_MAX;
for(int i=0;i<=bags.size()-K;i++){
ret = std::min(ret,bags[i+K-1]-bags[i]);
}
return ret;
}
};
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<functional>
#include<climits>
using namespace std;
class ORSolitaireDiv2{
public:
int getMinimum(vector <int> numbers, int goal){
int cnt=INT_MAX;
for(int i=0;i < (1<<numbers.size());i++){
int num=0;
for(int j=0; j < numbers.size();j++){
if(!(i & 1<<j) && (goal|numbers[j]) == goal)
num = num | numbers[j];
}
if(num != goal){
int cnt1=0;
for(int j=1; j < (1<<numbers.size());j=j<<1)
if((i & j)) cnt1++;
cnt = std::min(cnt,cnt1);
}
}
return cnt;
}
};