Skip to content

Instantly share code, notes, and snippets.

View diego9627's full-sized avatar

Diego Alonso Roque Montoya diego9627

View GitHub Profile

Keybase proof

I hereby claim:

  • I am diego9627 on github.
  • I am droque (https://keybase.io/droque) on keybase.
  • I have a public key whose fingerprint is 038A 376F 27BD 505C 7C95 7E76 65E4 4D15 7C77 B3A0

To claim this, I am signing this object:

type DQ a = [a] -> [a]
pushBack :: a -> DQ a -> DQ a
pushBack a dq = (a:).dq
pushFront :: a -> DQ a -> DQ a
pushFront a dq = dq.(a:)
toListDQ :: DQ a -> [a]
toListDQ dq = dq []
#include<iostream>
using namespace std;
bool test(int N,int K){
int T;
if(!(N%2)){
T= (N)*(N)/2+1;
}
else{
T= (N+1)*(N)/2;
@diego9627
diego9627 / SecContPivoteo.cpp
Last active December 16, 2015 16:40
Secuencias Continuas (OMI 2013, Día 2, Prob 4) resuelto con Pivoteo en O(N lg N) esperado. Funciona porque una pareja de contiguos contiene al menor en un intervalo o esta a la izquierda o a la derecha. Y si contiene al menor, entonces contiene desde el menor hasta algún numero mayor a este como uno de los intervalos contiguos, y como son N oper…
#include<iostream>
#include<fstream>
using namespace std;
const int MAXN=50005;
int S[MAXN],I[MAXN],loga[MAXN];//loga[k] es el piso del logaritmo de k
int Tm[MAXN][17];
int TM[MAXN][17];
inline int maxim(int a,int b){ //Maximo del [a,b] O(1)
if(a==b) return TM[a][0];
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("wifi.in");
ofstream fout("wifi.out");
int main(){
long long int N,A,B,cows[1001],cost=0;
fin >> N >> A >> B;
for(int i=0;i<N;i++) fin >> cows[i];
@diego9627
diego9627 / karboles.cpp
Created October 29, 2012 04:10
K-Arboles
#include<iostream>
#include<list>
#define MAXN 100005
#define MAXM 505
using namespace std;
int padre[MAXN],N,M,k=0;
bool prohibido[MAXN][MAXM];
int colores[MAXN];
int inorder[MAXN];
list<int> hijos[MAXN];
@diego9627
diego9627 / Fixture.cpp
Created October 24, 2012 06:49
Fixture
#include<iostream>
#include<string>
#include<queue>
using namespace std;
int N;
string horario[10],resp;
pair<bool,int> borrar(int i){
pair<bool,int> res(false,0);
if(!horario[i].empty()){
@diego9627
diego9627 / amigos.cpp
Created October 24, 2012 06:40
Amigos
#include<iostream>
#include<cstdio>
#include<map>
using namespace std;
int amistades[1000][1000];
int main(){
int N,j,i,P;
string nombre,nombre2;
map<string,int> enumeracion;
map<string,int>::iterator it;
@diego9627
diego9627 / engranes.cpp
Created October 24, 2012 06:28
Engranes
#include<cstdio>
int colores[1000000];
bool iguales[1000000];
long long mcd(long long N,long long M){
if(N==0) return M;
else return mcd(M%N,N);
}
int main(){
@diego9627
diego9627 / curiosity.cpp
Created October 24, 2012 03:40
Curiosity
#include<cstdio>
#include<iostream>
#include<queue>
#define MAX 2147483647
using namespace std;
int minimo[1001][1001];
struct coord{
int x;
int y;
};