Algorithm/투포인터
백준 2003 수들의합2 c++ // 투포인터 정석풀이
https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 1. 주의사항 v.push_back(0); 마지막에 0을넣어야 e++되면서 0을 가르킴 => out of index 방지 2. 전체코드 #include using namespace std; typedef long long ll; ll n, m,ret,temp; vector v; int main() { ios::sync_with_stdio(0); cin.ti..
백준 1644 소수의연속합 c++ // 소수판별 알고리즘, 투포인터
https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 1. 의사코드 및 전체코드 // Authored by : BaaaaaaaaaaarkingDog // Co-authored by : - // http://boj.kr/ecc7d7f58ceb4679a1bb67adbb79088c #include using namespace std; const int MXN = 4000002; vector seive(MXN, true);//1.모두소수라고 가정 vector primes; int main() { ios::sync_with_stdio(0); cin.tie(0); for (int..
백준 1806 부분합 c++ // 투포인터, 누적합 구현방법
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N st~en+1로 만드는 것) 2. total보다 S가 작으면, total 변수에 a..
백준 2230 수고르기 c++ // 투포인터 사용방법
https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 1. 의사코드 /* * 투포인터 * 1.정렬 * 2.for(st=0~n) * 3. while(en범위쳌 && 조건만족안하면) en++ * 4. 정답갱신 */ en을 1칸씩 우측으로 옮겨가면서 탐색한다. 2. 전체코드 #include using namespace std; int n, m; int a[100004]; int ret = 0x7fffffff; /* * 투포인터 * 1..