akhauriyash/Code-Regression huggingface dataset:
"use strict";
function Main(input) {
    let cin = new Inputer(input);
    let A = cin.getInt(), B = cin.getInt();
    let X = new Array(100);
    for (let n = 0; n < 50; n++) {
        X[n] = new Array(100).fill('#');
        X[n+50] = new Array(100).fill('.');
    }
    let x = 1, y = 1;
    while (--A > 0) {
        X[y][x] = '.';
        x += 2;
        if (x > 100) x = 1, y += 3;
    }
    x = 1, y = 51;
    while (--B > 0) {
        X[y][x] = '#';
        x += 2;
        if (x > 100) x = 1, y += 3;
    }
    console.log('100 100');
    for (let y = 0; y < 100; y++) {
        let s = X[y].join('');
        console.log(s);
    }
}
class Inputer{constructor(t){if(typeof t=='undefined')throw new Error('引数（stdin）を省略できません！');this.cnt=0,this.items=t.split(/\n|\s/)}getInt(){return this.items[this.cnt++]-0}getIntArray(t){if(typeof t=='undefined')throw new Error('引数（1以上）を省略できません！');let r=new Array(t);for(let e=0;e<t;e++)r[e]=this.getInt();return r}getStr(){return this.items[this.cnt++]}getStrArray(t){if(typeof t=='undefined')throw new Error('引数（1以上）を省略できません！');let r=new Array(t);for(let e=0;e<t;e++)r[e]=this.getStr();return r}}
if (typeof window == "undefined") Main(require("fs").readFileSync("/dev/stdin", "utf8"));

Measured memory_bytes: 21192
#pragma GCC optimize("O3")

#include <bits/stdc++.h>

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define F first
#define S second
#define pii pair<int,int>
#define pll pair<ll, ll>
#define vi vector<int>
#define vll vector<ll>
#define vii vector<pii>
#define read(FILE)  freopen(FILE, "r", stdin);
#define out(FILE) freopen(FILE, "w", stdout);
#define clr(x, y) memset(x,y,sizeof(x));
#define IO ios_base::sync_with_stdio(0);cin.tie(0); cout.tie(0);
#define all(x) x.begin(),x.end()
#define rep(i, m, n) for(int i=m ; i<n ; i++)
#define forr(i, m, n) for(int i=m ; i<=n ; i++)
#define endl '\n'
#define pb push_back
#define re return
const int N = 1e3 + 5;
const ll OO = 1e9 + 7;
using namespace std;

int main() {
    IO;
    int a,b,c; cin>>a>>b>>c;
    swap(a,b); swap(a,c);
    cout<<a<<" "<<b<<" "<<c;

    
}


Measured memory_bytes: 256
/**
 * code generated by JHelper
 * More info: https://github.com/AlexeyDmitriev/JHelper
 * @author
 */

#include <iostream>
#include <fstream>

#include "bits/stdc++.h"

#define REP(i,x,y) for(int i=(x);i<(y);i++)
#define RREP(i,x,y) for(int i=(y)-1;i>=(x);i--)
#define all(x) (x).begin(),(x).end()
//#define int long long

using namespace std;

// conversion
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}

#define dump(x)  cerr << #x << " = " << (x) << endl
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl

typedef long long ll;

const ll MOD = 1e9 + 7;

class EAllYouCanEat {
public:
	void solve(std::istream& in, std::ostream& out) {
	    int N, T;
	    in >> N >> T;
	    vector<int> A(N), B(N);
	    REP(i,0,N) in >> A[i] >> B[i];
	    vector<vector<int>> dp(T, vector<int>(N+1, 0));
	    REP(k,0,N) {
	        int i = k+1;
	        REP(t,0,T) {
	            dp[t][i] = max(dp[t][i], dp[t][i-1]);
	            if (t + A[k] >= T) continue;
	            dp[t + A[k]][i] = dp[t][i-1] + B[k];
	        }
	    }
	    vector<int> unused;
	    int maxAnswer = 0;
	    int currentT = 0;
	    REP(i,0,T) {
	        if (maxAnswer < dp[i][N]) {
	            currentT = i;
	            maxAnswer = dp[i][N];
	        }
	    }
	    RREP(k,0,N) {
	        int i = k+1;
	        if (currentT - A[k] < 0) {
	            unused.push_back(k);
	            continue;
	        }
	        if (dp[currentT - A[k]][i-1] == dp[currentT][i] - B[k]) {
	            currentT -= A[k];
	        } else {
                unused.push_back(k);
	        }
	    }
	    int answer = maxAnswer;
	    for (const auto i : unused) {
	        if (maxAnswer + B[i] > answer) {
	            answer = maxAnswer + B[i];
	        }
	    }

	    out << answer << "\n";
	}
};


signed main() {
	EAllYouCanEat solver;
	std::istream& in(std::cin);
	std::ostream& out(std::cout);
	solver.solve(in, out);
	return 0;
}


Measured memory_bytes: 35584
#include <iostream>
using namespace std;
int main(){
	
	string s;
	cin>>s;
	if(s.size()<4) cout<<"No"<<endl;
	else if(s[0]=='Y'&&s[1]=='A'&&s[2]=='K'&&s[3]=='I') cout<<"Yes"<<endl;
	else cout<<"No"<<endl;
	return 0;
}

Measured memory_bytes: 256
S = list(input())
k=0
ans=0
for i in range(len(S)):
	if S[i]=='A' or S[i]=='T' or S[i]=='G' or S[i]=='C':
		k+=1
	else:
		if k>ans:
			ans=k
		k=0
if k>ans:
	ans=k
print(ans)

Measured memory_bytes: 3060
#include <bits/stdc++.h>
#define endl "\n"

using namespace std;

int main(){
    long long n, a, total=0;
    cin >> n;
    for(long long i=0; i<n; i++){
        cin >> a;
        total+=a;
    }
    cout << total-n <<endl;
    return 0;
}


Measured memory_bytes: 256
import java.util.*;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long[] a = new long[n];
		for (int i = 0; i < n; i++) {
			a[i] = sc.nextLong() - i - 1;
		}
 
		java.util.Arrays.sort(a);
 
		long b = a[n / 2];
 
		long result = 0;
		for (int i = 0; i < n; i++) {
			result += Math.abs(a[i] - b);
		}
		System.out.println(result);
	}
}

Measured memory_bytes: 92208
#include <bits/stdc++.h>
using namespace std;

const int inf = 1e9;

int main() {
    int w, h, k; cin >> w >> h >> k;
    int n; cin >> n;
    vector<vector<int>> cost(w, vector<int>(h / 2, 1));
    for(int i = 0; i < n; ++i) {
        int x, y; cin >> x >> y;
        x--, y--;
        if(y % 2 == 0) continue;
        cost[x][y / 2] = 2;
    }

    k -= (w + 1) / 2;
    if(k < 0) {
        cout << -1 << endl;
        return 0;
    }

    const int hz = (h - 1) / 2, wz = (w + 1) / 2;
    vector<vector<int>> dp(wz + 1, vector<int>(2, inf));
    dp[0][0] = 0;
    for(int y = 0; y < hz; ++y) {
        for(int x = 0; x < wz; ++x) {
            if(dp[x][0] != inf) {
                dp[x + 1][0] = min(dp[x + 1][0], dp[x][0] + cost[x * 2][y]);
                if(x != wz - 1) {
                    dp[x + 1][1] = min(dp[x + 1][1], dp[x][0] + cost[x * 2 + 1][y]);
                }
            }
            if(dp[x][1] != inf) {
                dp[x + 1][0] = min(dp[x + 1][0], dp[x][1] + cost[x * 2 - 1][y]);
            }
        }
        const int ns = dp[wz][0];
        for(int x = 0; x <= wz; ++x) {
            for(int S = 0; S < 2; ++S) {
                dp[x][S] = inf;
            }
        }
        dp[0][0] = ns;
    }

    int ans = dp[0][0];
    const int tcnt = min(k, ans - hz * wz);
    const int ocnt = max(0, k - tcnt);
    ans = max(0, ans - tcnt * 2 - ocnt);
    cout << ans << endl;
}



Measured memory_bytes: 198776
// Author -- Frame

#include<bits/stdc++.h>

#define lowbit(x) ((x)&(-(x)))
#define Finline __inline__ __attribute__ ((always_inline))
#define DEBUG fprintf(stderr,"Running on Line %d in Function %s\n",__LINE__,__FUNCTION__)
#define SZ(x) ((int)x.size())
#define mkpr std::make_pair
#define pb push_back

typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef std::pair<int,int> pi;
typedef std::pair<ll,ll> pl;
using std::min;
using std::max;

const int inf=0x3f3f3f3f,Inf=0x7fffffff;
const ll INF=0x3f3f3f3f3f3f3f3f;

Finline uint rnd(){static uint seed=416;return seed^=seed>>5,seed^=seed<<17,seed^=seed>>13;}
template <typename _Tp>_Tp gcd(const _Tp &a,const _Tp &b){return (!b)?a:gcd(b,a%b);}
template <typename _Tp>Finline _Tp abs(const _Tp &a){return a>=0?a:-a;}
template <typename _Tp>Finline void chmax(_Tp &a,const _Tp &b){(a<b)&&(a=b);}
template <typename _Tp>Finline void chmin(_Tp &a,const _Tp &b){(b<a)&&(a=b);}
template <typename _Tp>Finline void read(_Tp &x)
{
	char ch(getchar());bool f(false);while(!isdigit(ch)) f|=ch==45,ch=getchar();
	x=ch&15,ch=getchar();while(isdigit(ch)) x=(((x<<2)+x)<<1)+(ch&15),ch=getchar();
	f&&(x=-x);
}
template <typename _Tp,typename... Args>Finline void read(_Tp &t,Args &...args){read(t);read(args...);}
template <typename _Tp,typename... Args>Finline _Tp min(const _Tp &a,const _Tp &b,const Args &...args){return a<b?min(a,args...):min(b,args...);}
template <typename _Tp,typename... Args>Finline _Tp max(const _Tp &a,const _Tp &b,const Args &...args){return a<b?max(b,args...):max(a,args...);}
Finline int read_str(char *s)
{
	char ch(getchar());while(ch==' '||ch=='\r'||ch=='\n') ch=getchar();
	char *tar=s;*tar=ch,ch=getchar();while(ch!=' '&&ch!='\r'&&ch!='\n'&&ch!=EOF) *(++tar)=ch,ch=getchar();
	return tar-s+1;
}

const int N=200005;
const int mod=1000000007;
template<typename _Tp1,typename _Tp2>Finline void add(_Tp1 &a,_Tp2 b){(a+=b)>=mod&&(a-=mod);}
template<typename _Tp1,typename _Tp2>Finline void sub(_Tp1 &a,_Tp2 b){(a-=b)<0&&(a+=mod);}
int a[N];
int main()
{
	int n;read(n);
	ll sum=0,ans=0;
	for(int i=1;i<=n;++i)
	{
		read(a[i]);
		sub(ans,1ll*a[i]*a[i]%mod);
		add(sum,a[i]);
	}
	add(ans,sum*sum%mod);
	if(!(ans&1)) ans>>=1;
	else ans=(ans+mod)>>1;
	printf("%lld\n",ans);
	return 0;
}


Measured memory_bytes: 4540
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int a[] = new int[n];
		double sum = 0;
		for(int i = 0; i < n; i++){
			a[i] = sc.nextInt();
			sum += 1.0/(double)a[i];
		}
		System.out.println(1.0/sum);

	}

}

Measured memory_bytes: 21716
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<iomanip>
#include<math.h>
#include<complex>
#include<queue>
#include<deque>
#include<stack>
#include<map>
#include<set>
#include<bitset>
using namespace std;
#define REP(i,m,n) for(int i=(int)m ; i < (int) n ; ++i )
#define rep(i,n) REP(i,0,n)
typedef long long ll;
typedef pair<int,int> pint;
typedef pair<ll,int> pli;
const int inf=1e9+7;
const ll longinf=1LL<<60 ;
const ll mod=1000003 ;

int main(){
  int n;
  cin >> n;
  cout << 180*(n-2) << endl;
return 0;}

Measured memory_bytes: 256
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#include <stack> 
#include <map>
#include <queue>
#include <unordered_map>
#include <cassert>
#include <iomanip>
#include <cmath>
#include <cstring>
using namespace std;
#define pb 					push_back
#define FAST_IO          ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
template<typename T,typename S>
ostream& operator <<(ostream& os, pair<T, S> input) {
	os<<"("<<input.first<<", "<<input.second<<")";
	return os;
}
template<typename T>
ostream& operator <<(ostream& os, vector<T> input) {
	for(auto t: input)
		os << t <<" ";
	return os;
}
template<typename T>
ostream& operator <<(ostream& os, set<T> input) {
	for(auto t: input)
		os << t <<" ";
	return os;
}





int a[200003];
int main() {	
	int n;
	cin >> n;
	map<int,int> m;
	long long ans = 0;
	for(int i=1; i<=n; i++){
		cin >> a[i];
		ans += m[i - a[i]];
		m[i  + a[i]]++;
	}
	cout << ans << "\n";
	return 0;
}














Measured memory_bytes: 21312
#include <bits/stdc++.h>
using namespace std;


int main(){
    int N,M,ans=0;
    cin >> N >> M ;
    if(N>1){
    ans+=N*(N-1)/2;
    }
    if(M>1){
    ans+=M*(M-1)/2;
    }
    cout << ans << endl;
}



Measured memory_bytes: 256
#include <stdio.h>
  
 #define N 8
 #define FREE 0
 #define NOT_FREE 1
  
 void putQueen(int);
 void PrintBoard(void);
  
 int Queen[N][N];
 int dpos[2*N-1];
 int dneg[2*N-1];
 int row[N];
 int col[N];
  
 int main(){
  
 int i;
 int num;
 int Qrow;
 int Qcol;
  
 scanf("%d",&num);
  
 for(i=0;i<num;i++){
 scanf("%d%d",&Qrow,&Qcol);
 Queen[Qrow][Qcol] = NOT_FREE;
 }
  
 putQueen(0);
  
   return 0;
}
void putQueen(int i){
  
 int j;
  
 if(i==N){
 PrintBoard();
 return;
 }
  
 for(j=0;j<N;j++){
 if(col[j]==NOT_FREE || dpos[i+j]==NOT_FREE || dneg[i-j+N-1]==NOT_FREE) continue;
  
 row[i] = j;
 col[j] = dpos[i+j] = dneg[i-j+N-1] = NOT_FREE;
 putQueen(i+1);
  
 col[j] = dpos[i+j] = dneg[i-j+N-1] = FREE;
 }
  
}
void PrintBoard(void){
  
 int i;
 int j;
  
 for(i=0;i<N;i++){
  for(j=0;j<N;j++){
  
 if(Queen[i][j]==NOT_FREE){
    if(row[i]!=j) return;
    }
  
   }
  }
  
 for(i=0;i<N;i++){
  for(j=0;j<N;j++){
  
 if(row[i]==j){
  printf("Q");
   }
  
 else{
  printf(".");
   }
  
   }
  printf("\n");
   }
 }


Measured memory_bytes: 2108
#include <stdio.h>
#include <stdlib.h>

struct node{
  struct node *parent;
  struct node *left;
  struct node *right;
  int key;
};
typedef struct node * Node;

#define NIL NULL

Node root;

void Insert(int k){
  Node y=NIL;
  Node x = root;
  Node z;

  z = malloc(sizeof(struct node));
  z->key = k;
  z->left = NIL;
  z->right = NIL;

  while(x != NIL){
    y = x;
    if(z->key < x->key){
      x = x->left;
    }
    else {
      x = x->right;
    }
  }
  z->parent = y;
  
  if(y == NIL){
    root = z;
  }
  else if(z->key < y->key){
    y->left = z;
  }
  else {
    y->right = z;
  }
}

void Inorder(Node u){
  if(u->left != NIL){
    Inorder(u->left);
  }
  printf(" %d",u->key);
  
  if(u->right != NIL){
    Inorder(u->right);
  }
}

void Preorder(Node u){
  printf(" %d",u->key);
  if(u->left != NIL){
    Preorder(u->left);
  }
  if(u->right != NIL){
    Preorder(u->right);
  }
}

int main(void){
  int n,i,x;
  char com[20];
  
  scanf("%d",&n);
  
  root = malloc(sizeof(struct node));
  root = NIL;

  for(i = 0 ; i < n ; i++){
    scanf("%s",com);
    
    if(com[0] == 'i'){
      scanf("%d",&x);
     
      Insert(x);
    }
    else {
            
      Inorder(root);
      printf("\n");
      Preorder(root);
      printf("\n");
    }

  }
  
  return 0;
}

Measured memory_bytes: 11000
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[][] rooms = new int[10][12];
		for(int i=0;i<n;i++) {
			int b= sc.nextInt(),f=sc.nextInt(),r=sc.nextInt(),v=sc.nextInt();
			rooms[r-1][3*(b-1)+f-1]+=v;
		}

		for(int i=0; i<4;i++) {
			for(int j=0;j<3;j++) {
				for(int k=0;k<10;k++) {
					System.out.print( " " + rooms[k][3*i+j]);
				}
				System.out.println();
			}
			if(i<3) {
				System.out.println("####################");
			}
		}
	}
}



Measured memory_bytes: 29064
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		long[] a = new long[n];
		long[] b = new long[n];
		long[] c = new long[n];
		for (int i = 0; i < n; i++)
			a[i] = Long.parseLong(sc.next());
		for (int i = 0; i < n; i++)
			b[i] = Long.parseLong(sc.next());
		for (int i = 0; i < n; i++)
			c[i] = Long.parseLong(sc.next());
		Arrays.sort(a);
		Arrays.sort(b);
		Arrays.sort(c);
		long[] u = new long[n];
		int index = 0;
		for (int i = 0; i < n; i++) {
			while (index < n && a[index] < b[i])
				index++;
			if (i == 0)
				u[i] = index;
			else
				u[i] = u[i - 1] + index;
		}
		int[] l = new int[n];
		index = 0;
		for (int i = 0; i < n; i++) {
			while (index < n && b[index] < c[i])
				index++;
			l[i] = index;
		}
		long ans = 0;
		for (int i = 0; i < n; i++)
			if (l[i] != 0)
				ans += u[l[i] - 1];
		System.out.println(ans);

	}
}

Measured memory_bytes: 68576
#include <bits/stdc++.h>
#define pb push
#define INF 0x3f3f3f3
#define LINF 0x3f3f3f3f3f3f3f
#define MAXN int(2000005)
#define fim '\n'
#define ll long long
#define f first
#define s second
#define FAST ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define debug(x) cout << "DEBUG " << x << fim
#define debug2(x, y) cout << "DEBUG " << x << " " << y << fim
#define debug3(x, y, z) cout << "DEBUG " << x << " " << y << " " << z<< fim
#define max3(x, y, z) max(x, max(y, z))
using namespace std;
typedef pair<ll, int> pii;
typedef pair<string, int> psi;
typedef pair<int, pair<int, int> > piii;
typedef pair<char, int> pci;
typedef pair<int, bool> pib;
ll MOD = 1000000007;

int main() {
    ll x;
    cin >> x;
    for(ll i = x; i <= 1000000; i++) {
        bool xd = false;
        for(ll j = 2; j*j <= i; j++)
            if(i%j == 0) {
                xd = true;
                break;
            }
        if(xd == false) {
            cout << i << fim;
            return 0;
        }
    }
}


Measured memory_bytes: 256
#include <iostream>
using namespace std;
const int N_MAX = 100000;
int main(){
  int N,K,Q,A[N_MAX],a;
  cin >> N >> K >> Q;
  for(int i=0;i<N;i++)A[i]=0;
  for(int i=0;i<Q;i++){
    cin >> a;a--;
    A[a]++;
  }
  
  for(int i=0;i<N;i++){
    if(K-Q+A[i]>0)cout << "Yes" << endl;
    else cout << "No" << endl;
  }
  return 0;
}

Measured memory_bytes: 1152
import sys
input = sys.stdin.readline

def Partition(A, p, r):
    i = p - 1
    for j in range(p, r):
        if A[j] <= A[r]:
            i += 1
            A[i], A[j] = A[j], A[i]
    A[i+1], A[r] = A[r], A[i+1]
    return i+1

n = int(input())
A = [int(x) for x in input().split()]
m = Partition(A, 0, n-1)
print(*A[:m], end=' ')
print('[{}]'.format(A[m]), end=' ')
print(*A[m+1:])


Measured memory_bytes: 15604
#include<bits/stdc++.h>
using namespace std;
using ll=long long;

int i,j,k,l,m;
ll mod=1000000007;

int main(){    
    int n;cin>>n;
    int sum=0;
    vector<int> a(n+1,0),b(n+1,0);
    
    for(i=2;i<=n;i++){
        cin>>a[i];//iの上司の番号
        b[a[i]]++;//上司の直属の部下
    }

    for(i=2;i<=n;i++){sum+=b[i];}
    cout<<n-1-sum<<endl;//社員番号1の直属の部下
    
    for(i=2;i<=n;i++){
        cout<<b[i]<<endl;
    }
    
    return 0;
}

Measured memory_bytes: 4816
#include <iostream>
    #include <bits/stdc++.h>
     
    using namespace std;
    const int maxn = 4;
    typedef long long ll;
    const int INF = 1e9+7;
     
    list<int>sta[maxn];
    void action()
    {   //cout<<sqrt(880)<<endl;
        int n;
        scanf("%d",&n);
        while(n--)
        {
            ll a,b;
            scanf("%lld%lld",&a,&b);
     
     
            ll cnt = a*b;
     
            if(a==b)
            {
                cout<<2*a-2<<endl;
                continue;
                
            }
            
            ll sq = sqrt(cnt);
            ll sq1 = sq;
            ll sq2 = sq;
            if(a<=sq)
            {
                sq1--;
                sq2--;
            }
            if(b<=sq)
            {
                sq1--;
                sq2--;
            }
            if(sq*sq==cnt)
                sq1--;
     
            ll cnt22 = ceil(sqrt(cnt));
            if(cnt22 * sq <cnt )
                sq1++;
            printf("%lld\n",sq1+sq2);
     
        }
     
    }
    int main()
    {
     
        action();
        return 0;
    }

Measured memory_bytes: 256
n,q = list(map(int, input().split()))

dw = [[] for i in range(n+1)]
pt = [0 for i in range(n+1)]

for i in range(n-1):
    a,b = list(map(int, input().split()))
    dw[a].append(b)

for i in range(q):
    a,b = list(map(int, input().split()))
    pt[a] += b

slist = [1]

while(True):
    nlist = []
    for i in range(len(slist)):
        nowlist = dw[slist[i]]
        for j in range(len(nowlist)):
            pt[nowlist[j]] += pt[slist[i]]
            nlist.append(nowlist[j])
    
    if(len(nlist)==0):
        break
    slist = nlist
pt = ' '.join(map(str, pt[1:]))
print(pt)

Measured memory_bytes: 124492
#include <bits/stdc++.h>
using namespace std;

vector<int> T;
vector<int> seen;
vector<vector<int>> G;
stack<pair<int,int>> S;
vector<int> p(200000,1000000001);
void DFS(int a){
  int b=lower_bound(p.begin(),p.end(),T.at(a))-p.begin(),c=p.at(b);
  p.at(b)=T.at(a);
  seen.at(a)=lower_bound(p.begin(),p.end(),1000000001)-p.begin();
  S.push(make_pair(b,c));
  for(int x:G.at(a)){
    if(seen.at(x)!=0){
      continue;
    }
    else{
      DFS(x);
    }
  }
  int B=S.top().first,C=S.top().second;
  S.pop();
  p.at(B)=C;
}
  

int main() {
  int N;
  cin>>N;
  T.resize(N);
  seen.resize(N);
  G.resize(N);
  for(int i=0;i<N;i++){
    cin>>T.at(i);
  }
  for(int i=0;i<N-1;i++){
    int a,b;
    cin>>a>>b;
    a--;
    b--;
    G.at(a).push_back(b);
    G.at(b).push_back(a);
  }
  DFS(0);
  for(int i=0;i<N;i++){
    cout<<seen.at(i)<<endl;
  }
}

Measured memory_bytes: 26716
#include<bits/stdc++.h>
using namespace std;
int main() {
  int A, B, C, X, Y; cin >> A >> B >> C >> X >> Y;
  C *= 2;
  int sum = 0;
  if(A + B < C) {
    cout << A * X + B * Y << endl;
  } else if(X >= Y) {
    if(A >= C) {
      cout << C * X << endl;
    } else {
      cout << (X - Y) * A + C * Y << endl;
    }
  } else {
    if(B >= C) {
      cout << Y * C << endl;
    } else {
      cout << X * C + (Y - X) * B << endl;
    }
  }
}


Measured memory_bytes: 256
#include <iostream>
#include <string>
#include <utility>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <stack>
#include <iomanip>


using namespace std;

#define REP(i, n) for(ll i = 0;i < n;i++)
#define REPR(i, n) for(ll i = n;i >= 0;i--)
#define FOR(i, m, n) for(ll i = m;i < n;i++)
#define FORR(i, m, n) for(ll i = m;i >= n;i--)
#define REPO(i, n) for(ll i = 1;i <= n;i++)
#define ll long long
#define INF 1999999999
#define MINF -1999999999
#define INF64 1999999999999999999
#define ALL(n) n.begin(),n.end()
#define MOD 1000000007


ll s[3];
int main(){
	REP(i, 3) {
		cin >> s[i];
		if (s[i] % 2 ==  0) {
			cout << 0 << endl;
			return 0;
		}
	}
	sort(s,s + 3);
	cout << s[0] * s[1] << endl;
	
}



Measured memory_bytes: 256
#include <bits/stdc++.h>

#define rep(i, n) for(int i = 0; i < (n); i++)
#define all(a) (a).begin(),(a).end()
#define SORT(a) sort(all(a))
#define rSORT(a, i) sort(all(a),(i))

using ll = long long;
constexpr ll INF = 10000000000;
constexpr ll MOD = 1000000007;
constexpr int MAX = 2000200;
constexpr double EPS = 1E-11;

using namespace std;

int main() {
	int n, k; cin >> n >> k;

	if (n >= 2 * k - 1) {
		cout << "YES" << endl;
	}
	else {
		cout << "NO" << endl;
	}
}




Measured memory_bytes: 764
#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<n;i++)
using namespace std;

int main(){
  string S;
  cin >>S;
  
  int len = S.size();
  int sum = 0;
  string ans;
  rep(i,0,len){
    sum += S[i] - '0';
  }
  
  int X = stoi(S);
  if(X%sum==0) ans = "Yes";
  else ans = "No";
  
  cout <<ans<< endl;
}

Measured memory_bytes: 256
#include <bits/stdc++.h>
using namespace std;

int main() {
  int N;
  cin >> N;
  vector<int> V(N);
  for(int i=0;i<N;i++){
    cin >> V.at(i);
  }
  
  sort(V.begin(), V.end());
    reverse(V.begin(), V.end());
  
  int A=0;
  int B=0;
  
    for (int i = 0; i < N; i++) {
       if((i+1)%2==1){
         A+=V.at(i);
       }else{
         B+=V.at(i);
       }
    }
  
  if(A<B){
    cout << B-A << endl;
  }else{
    cout << A-B << endl;
  }
}


Measured memory_bytes: 256
#include<bits/stdc++.h>
 
using namespace std;
 
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
 
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(vector<vector<T>> x){cerr<<"\n{"; int f=x.size();for(int i=0;i<f;i++){cerr<<"("; int g=x[i].size(); for(auto j:x[i]){cerr<<j; (--g!=0)?cerr<<",":cerr<<"";}cerr<<")\n";}cerr<<"}";}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "}";}
void __print(vector<bool> x){cerr<<"{";int f=x.size();for(auto i:x){cerr<<i;(--f !=0)?cerr<<",":cerr<<"";}cerr<<"}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
 
#ifndef ONLINE_JUDGE
#define trace(x...) cerr << "[" << #x << "] = [", _print(x)
#else
#define trace(x...)
#endif
 
template<typename... T>
void read(T&... args) {
    ((cin >> args), ...);
}
 
template<typename... T>
void writ(T&&... args) {
    ((cout << args << " "), ...);
}
#define ull unsigned long long
#define ll long long
#define MOD 1000000007
#define INF (ll)1e18
#define IINF (int)1e9
#define EPS 1e-9
/*
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    In the blazing sun I saw you
    In the shadows hiding from yourself
    When the lights are on I know you
    See you're grey from all the lies you tell 
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll n; cin>>n;
    vector<ull> a(n);
    for(auto &i:a) cin>>i;
    sort(a.rbegin(),a.rend());
    ull ans=a[0];
    if(n==1){
        cout<<0;
        return 0;
    }
    if(n<=2){
        cout<<ans;
        return 0;
    }
    int temp=1;
    for(int i=2;i<n;i++){
        //trace(a[i],i);
        if(i<n){
            ans+=a[temp];
            i++;
        }
        if(i<n){
            ans+=a[temp];
            i++;
        }
        i--;
        temp++;
    }
    cout<<ans;
    return 0;
}



Measured memory_bytes: 4784
// #pragma GCC optimize("Ofast,unroll-all-loops")

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;

#define all(v) v.begin(), v.end()
#define len(v) ((int)(v).size())
#define pb push_back
#define kek pop_back
#define pii pair<int, int>
#define mp make_pair
#define int ll

#define debug(x) cout << #x << " = " << x << endl;

const int INF = (is_same<int, ll>::value ? 1e18 + 666 : 1e9 + 666);

// const int MEM_SIZE = 1e8;
// char mem[MEM_SIZE];
// int cur_mem_ptr = 0;

// void* operator new(size_t n) {
//     cur_mem_ptr += n;
//     return mem + cur_mem_ptr - n;
// }

// void operator delete(void*) noexcept {}
// void operator delete(void*, size_t) noexcept {}

template<class t1, class t2>
bool cmin(t1 &a, const t2 &b) {
    if (a > b) {
        a = b;
        return true;
    }
    return false;
}

template<class t1, class t2>
bool cmax(t1 &a, const t2 &b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}

#ifndef LOCAL
void UseFiles(const string &s) {
    freopen((s + ".in").c_str(), "r", stdin);
    freopen((s + ".out").c_str(), "w", stdout);
}
#else
void UseFiles(const string&) {}
#endif

void run();

signed main() {
    // UseFiles("squads");
    iostream::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    run();
}

void run() {
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    if ((c + b - 1) / b <= (a + d - 1) / d)
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
}

Measured memory_bytes: 3640
/* Bismillahirrahmanirrahim */
/* Author : Jehian Norman Saviero (@Reiva5) */
#include <bits/stdc++.h>
 
// MACROS SAMPAH
#define Jehian using
#define Norman namespace
#define Saviero std
 
Jehian Norman Saviero;
 
// MACROS TYPE
typedef long l;
typedef unsigned long long ll;
typedef unsigned long ul;
typedef unsigned long long ull;
typedef double ld;
typedef pair<int,int> pi;
typedef pair<l,l> pl;
typedef pair<ll,ll> pll;
typedef vector<int> vi;
typedef vector<l> vl;
typedef vector<ll> vll;
 
// MACROS FOR PRINT
#define nl printf("\n")
#define sp printf(" ")
 
// MACROS FOR ATTRIBUTE
#define fi first
#define se second
 
// MACROS FOR FUNCTION AND METHOD
#define eb emplace_back
#define mp make_pair
#define pb push_back
#define pf push_front
#define ppb pop_back
#define ppf pop_front
#define ALL(x) (x).begin(), (x).end()
#define ALLN(x,n) (x), (x)+(n)
#define CUBE(x) (SQR(x)*(x))
#define SET(x,y) for (int _qwe = sizeof(x)/sizeof(x[0]); _qwe; ) x[--_qwe] = (y)
#define SQR(x) ((x)*(x))
#define SSORT(x,sz) sort(ALLN(x,sz))
#define RESET(x) memset((x), 0, sizeof(x))
#define VSORT(x) sort(ALL(x))
 
// MACROS READ INPUT
#define sci(x) scanf("%d", &x)
#define scl(x) scanf("%ld", &x)
#define scll(x) scanf("%lld", &x)
#define scul(x) scl(x)
#define scull(x) scll(x)


int main() {
	int dat[3][3];
	map<int, pi> pos;
	for (int i = 0; i < 3; ++i) {
		for (int j = 0; j < 3; ++j) {
			sci(dat[i][j]);
			pos[dat[i][j]] = {i, j};
		}
	}
	int N;
	sci(N);
	for (int i = 0; i < N; ++i) {
		int tmp;
		sci(tmp);
		if (pos.find(tmp) != pos.end()) {
			pi curr = pos[tmp];
			dat[curr.fi][curr.se] = -1;
		}
	}
	bool valid = 0;
	for (int i = 0; i < N; ++i) {
		valid |= dat[i][0] == -1 && dat[i][1] == -1 && dat[i][2] == -1;
		valid |= dat[0][i] == -1 && dat[1][i] == -1 && dat[2][i] == -1;
	}
	valid |= dat[0][0] == -1 && dat[1][1] == -1 && dat[2][2] == -1;
	valid |= dat[0][2] == -1 && dat[1][1] == -1 && dat[2][0] == -1;
	puts(valid ? "Yes" : "No");
	return 0;
}

Measured memory_bytes: 256
#include <iostream>
#include <vector>

constexpr int G = 3;

struct Grid {
  int x, y, c;
  Grid(int x, int y, int c) : x(x), y(y), c(c) {}
};

int main() {
  int N, C;
  std::cin >> N >> C;

  std::vector<std::vector<int>> D(C, std::vector<int>(C, 0));

  for (int i = 0; i < C; i++) {
    for (int j = 0; j < C; j++) {
      std::cin >> D[i][j];
    }
  }

  std::vector<std::vector<int>> c(N, std::vector<int>(N, 0));

  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      std::cin >> c[i][j];
      c[i][j]--;
    }
  }

  std::vector<std::vector<int>> d(G, std::vector<int>(C));

  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      for (int color = 0; color < C; color++) {
        d[(i + j) % G][color] += D[c[i][j]][color];
      }
    }
  }

  int answer = 1 << 30;

  for (int x = 0; x < C; x++) {
    for (int y = 0; y < C; y++) {
      for (int z = 0; z < C; z++) {
        if (x != y && y != z && z != x) {
          answer = std::min(answer, d[0][x] + d[1][y] + d[2][z]);
        }
      }
    }
  }

  std::cout << answer << std::endl;
}


Measured memory_bytes: 1280
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using static Input;
class Program
{
    static int N;
    static List<String> S = new List<String>();

    static void INPUT()
    {
        N = NextInt();
        for (int i = 0; i < N; i++)
            S.Add(NextString());
    }
    static void OUTPUT()
    {
        var d = new Dictionary<string, int>();

        for (int i = 0; i < N; i++)
        {
            var ss = S[i].ToCharArray();
            Array.Sort(ss);
            S[i] = new string(ss);
        }
        
        var ans = 0L;
        foreach (var s in S)
        {
            if (d.ContainsKey(s))
            {
                ans += d[s];
                d[s]++;
            }
            else
            {
                d.Add(s, 1);
            }
        }

        Console.WriteLine(ans);
    }
    static void Main(string[] args)
    {
#if DEBUG  
        TESTINPUT();
#else
        INPUT();
#endif
        OUTPUT();
    }

    static void TESTINPUT()
    {
        N = 5;
        
        S.Add("abaaaaaaaa");
        S.Add("oneplustwo");
        S.Add("aaaaaaaaba");
        S.Add("twoplusone");
        S.Add("aaaabaaaaa");
    }
}

public class Input
{
    public const long MOD = 1000000007;
    public const int INF = 1000000007;
    private static Queue<string> q = new Queue<string>();
    private static void Confirm() { if (q.Count == 0) foreach (var s in Console.ReadLine().Split(' ')) q.Enqueue(s); }
    public static int NextInt() { Confirm(); return int.Parse(q.Dequeue()); }
    public static long NextLong() { Confirm(); return long.Parse(q.Dequeue()); }
    public static string NextString() { Confirm(); return q.Dequeue(); }
    public static double NextDouble() { Confirm(); return double.Parse(q.Dequeue()); }
    public static int[] LineInt() { return Console.ReadLine().Split(' ').Select(int.Parse).ToArray(); }
    public static long[] LineLong() { return Console.ReadLine().Split(' ').Select(long.Parse).ToArray(); }
    public static string[] LineString() { return Console.ReadLine().Split(' ').ToArray(); }
    public static double[] LineDouble() { return Console.ReadLine().Split(' ').Select(double.Parse).ToArray(); }
}



Measured memory_bytes: 36804
/*  -*- coding: utf-8 -*-
 *
 * c.cc: C - Palindromic Matrix
 */

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<functional>

using namespace std;

/* constant */

/* typedef */

/* global variables */

int cs[26];

/* subroutines */

/* main */

int main() {
  int h, w;
  cin >> h >> w;

  for (int y = 0; y < h; y++) {
    string s;
    cin >> s;
    for (int x = 0; x < w; x++) cs[s[x] - 'a']++;
  }

  int n1 = 0, n2 = 0, n4 = 0;
  for (int i = 0; i < 26; i++) {
    n1 += (cs[i] & 1);
    n2 += ((cs[i] / 2) & 1);
    n4 += cs[i] / 4;
  }
  //printf("n1=%d, n2=%d, n4=%d\n", n1, n2, n4);

  int d = (h / 2) * (w / 2);
  if (n1 == (h & 1) * (w & 1) && n4 >= d &&
      (n4 - d) * 2 + n2 == (h & 1) * (w / 2) + (w & 1) * (h / 2))
    puts("Yes");
  else
    puts("No");

  return 0;
}


Measured memory_bytes: 256
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }
//template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
 
/* attention
    long longのシフト演算には気をつけよう
    タイポした時のデバッグが死ぬほどきつくなるので変数名は最低3字くらい使った方がいいかも
*/

const int MAX = 300005;
const int mod = 1000000007;

long long fac[MAX], finv[MAX], inv[MAX];
void COMinit(){
    fac[0] = fac[1] = 1;
    finv[0] = finv[1] = 1;
    inv[1] = 1;
    for(int i = 2; i < MAX; i++){
        fac[i] = fac[i-1] * i % mod;
        inv[i] = mod - inv[mod%i] * (mod/i) % mod;
        finv[i] = finv[i-1] * inv[i] % mod;
    }
 
}
long long COM(int n, int k){
    if(n < k) return 0;
    if (n < 0 || k < 0) return 0;
    return fac[n] * (finv[k] * finv[n-k] % mod) % mod;
}

vector<pair<ll, ll>> prime_factorize(ll n){
    vector<pair<ll, ll>> res;
    for(ll i=2; i*i<=n; i++){
        if(n%i != 0) continue;
        int num = 0;
        while(n%i == 0){
            num++;
            n/=i;
        }
        res.push_back(make_pair(i, num));
    }
    if(n > 1) res.push_back(make_pair(n, 1));
    return res;
}

int main(void){
    ll N, M; cin >> N >> M;
    COMinit();
    ll ans = 1;

    vector<pair<ll, ll>> div = prime_factorize(M);
    for(int i=0; i<div.size(); i++){
        ans *= COM(N-1+div[i].second, N-1);
        ans %= mod;
    }

    cout << ans << endl;
}

Measured memory_bytes: 7424
#include <bits/stdc++.h>

#define YOU using
#define DONT namespace
#define SAY std

YOU DONT SAY;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<ll,int> pli;
typedef pair<int,ll> pil;
typedef vector<int> vi;
typedef vector<pii> vii;
typedef vector<pll> vll;

#define REPP(i,a,b,d) for(int i=a;i<=b;i+=d)
#define REP(i,a,b) REPP(i,a,b,1)
#define REVV(i,a,b,d) for(int i=a;i>=b;i-=d)
#define REV(i,a,b) REVV(i,a,b,1)

#define FOR(i,a) for(int i=0; i<a; i++)
#define FORD(i,a) for(int i=(int)a-1; i>=0; i--)

#define mp make_pair

#define pb push_back
#define F first
#define S second

const int OO = 1e9;
const ll INF = 1e18;

const int irand(int lo,int hi){
	return ((double)rand()/(RAND_MAX + 1.0)) * (hi-lo+1) + lo;
}

const ll lrand(ll lo,ll hi){
	return ((double)rand()/(RAND_MAX + 1.0)) * (hi-lo+1) + lo;
}

#define getc getchar
template<typename T>
T getnum(){
	int sign = 1;
	T ret = 0;
	char c;

	do{
		c = getc();
	}while(c == ' ' || c == '\n');
	if(c == '-')sign = -1;
	else ret = c-'0';
	while(1){
		c = getc();
		if(c < '0' || c > '9')break;
		ret = 10*ret + c-'0';
	}
	return sign * ret;
}

inline void ini(int& x){
	x = getnum<int>();
}

inline void scani(int& x){
	scanf("%d",&x);
}

//end of macro

const int N = 1005;

int n;
int x[N], y[N];
vi pow2;
string ans[N];

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    #define endl '\n'

    ll now = 1;
    while(now <= 2e9){
        pow2.pb(now);
        now <<= 1;
    }
    reverse(pow2.begin(), pow2.end());

    cin>>n;
    REP(i,1,n)cin>>x[i]>>y[i];
    int cnt[2];
    cnt[0] = cnt[1] = 0;
    REP(i,1,n){
        cnt[(x[i]+y[i])&1]++;
    }
    if(cnt[0] && cnt[1])cout << -1 << endl;
    else{
        if(cnt[0])pow2.pb(1);
        REP(i,1,n){
            FOR(j,pow2.size()){
                if(abs(x[i]) > abs(y[i])){
                    if(x[i] > 0){
                        ans[i] += 'R';
                        x[i] -= pow2[j];
                    }else{
                        ans[i] += 'L';
                        x[i] += pow2[j];
                    }
                }else{
                    if(y[i] > 0){
                        ans[i] += 'U';
                        y[i] -= pow2[j];
                    }else{
                        ans[i] += 'D';
                        y[i] += pow2[j];
                    }
                }
            }
            //printf("now %d, remaining %d %d\n",i,x[i],y[i]);
        }
        cout << pow2.size() << endl;
        FOR(i,pow2.size())cout << pow2[i] << " ";
        cout << endl;
        REP(i,1,n)cout << ans[i] << endl;
    }

    return 0;
}


Measured memory_bytes: 384
<?php

class Scanner
{
    private $arr = [];
    private $count = 0;
    private $pointer = 0;

    public function next()
    {
        if ($this->pointer >= $this->count) {
            $str = trim(fgets(STDIN));
            $this->arr = explode(" ", $str);
            $this->count = count($this->arr);
            $this->pointer = 0;
        }
        $result = $this->arr[$this->pointer];
        $this->pointer++;
        return $result;
    }

    public function hasNext()
    {
        return $this->pointer < $this->count;
    }

    public function nextInt()
    {
        return (int)$this->next();
    }

    public function nextDouble()
    {
        return (double)$this->next();
    }
}

class out
{
    public static function printIn($str = "")
    {
        echo $str . PHP_EOL;
    }
}

$sc = new Scanner;

$K = $sc->nextInt();
$S = $sc->nextInt();
$count = 0;


for ($x = 0; $x <= $K; $x++) {
    for ($y = 0; $y <= $K; $y++) {
        $z = $S - $x - $y;
        if (0 <= $z && $z <= $K) {
            $count++;
        }
    }
}

echo $count;

/*
 * 以下だと2500 ** 3 通りの計算になるため、時間切れとなる。
 * 目安は 10 ** 8 程度の計算。
*/
//for ($x = 0; $x <= $K; $x++) {
//    for ($y = 0; $y <= $K; $y++) {
//        for ($z = 0; $z <= $K; $z++) {
//            $sum = $x + $y + $z;
//            if ($sum === $S) {
//                $count++;
//            }
//        }
//    }
//}
//echo $count;

Measured memory_bytes: 4728
#include <iostream>
#include <string>

using namespace std;

int main(void) {
  int N;
  cin >> N;
  string S;
  cin >> S;
  int ans = 0;
  for (int i = 0; i < N; ++i) {
    if (i == 0 || S[i - 1] != S[i]) {
      ans++;
    }
  }
  cout << ans << endl;
  return 0;
}


Measured memory_bytes: 3752
#include <bits/stdc++.h>
using namespace std;
#define modulo 1000000007
#define mod(mod_x) ((((long long)mod_x+modulo))%modulo)
#define Inf 10000000000000000


int main(){

	int N;
	cin>>N;
	
	vector<vector<pair<int,long long>>> E(N,vector<pair<int,long long>>());
	
	for(int i=0;i<N-1;i++){
		int a,b;
		cin>>a>>b;
		a--;b--;
		long long c;
		cin>>c;
		
		E[a].emplace_back(b,c);
		E[b].emplace_back(a,c);
	}
	
	int q,K;
	cin>>q>>K;
	
	K--;
	vector<long long> dis(N,Inf);
	dis[K]=0;
	queue<int> Q;
	Q.push(K);
	
	while(Q.size()!=0){
		int now = Q.front();
		Q.pop();
		for(int i=0;i<E[now].size();i++){
			int to = E[now][i].first;
			long long c = E[now][i].second;
			if(dis[to]!=Inf)continue;
			dis[to] = dis[now]+c;
			Q.push(to);
		}
	}
	
	for(int i=0;i<q;i++){
		int x,y;
		cin>>x>>y;
		x--;y--;
		
		cout<<dis[x]+dis[y]<<endl;
	}
	
    return 0;
}



Measured memory_bytes: 9984
#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<unordered_map>
#include<climits>
#include<cstdlib>
#include<cmath>
#include<string>
#include<iomanip>
#include<bitset>
#include<list>

/*
　　　　　　　　　　　　　　　　　　　　　__,.二ﾆ==-　　ﾆ．、_.　　　　　　　　　　　　　　　　　　　　　
　　　　　　　　　　　　　　　　.,.．‐　⌒　　　　　　　　　　　　｀`'ァ-ﾆ、.　　　　　　　　　　　　　　　
　　　　　　　　　　　　　　ィ'´.　　　　　　　　　　　　　　　　　　　　　　´丶.、　　　　　　　　　　　　
　　　　　　　　　　　.,ィ'´　　　　　　　　　　　　　　　　　　　　　　　　　　　　`.ｘ、..　　　　　　　　　
　..　　　　　　　　／.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　､＼.　　　　　　　　
　　　　　　　　.ﾝ′.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　￢`""冖ｰミト．
　　　　　　　,ｒ′.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　.ﾍ、　　　　`
　　　　　　ﾂ　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　`、....　　　
　　　　　./´　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　ﾍ　　　　
　.....　　/.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　.〉.　　　
　　　´/..　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　.ｌ　　　
　　　ｨ　　　　　　　　　　　　　　　　　　　　　　　　　．　　　　　　　　　　　　　　　　　　　　　ｆ..　　
　..　.ｆ　,d.　　　　　　　　　　　　　　　　　l　　　′　」　　,.　　　　　　　　　　　　　ﾄ　　　　　！　　
　.　〕../.ｆ..　　　　　　　　　　　　　　　　　′　．.　　|　　.｝　　　　　　　　　　　　　|　　　　　　|.　　
　　.!./..f..　　　　　　　　　　　　　　　　　/　　!－　ナ丶п冖т　　　　ﾉｰ-　．　〕　　　　　　|.　　
　　|ﾒ　|　　　　　　　　　　　　　　　｜　j　　　　　　,　　┌．　|〈.　　　л`.　　　/|..　　　　　┤,..　
　...「...｜.　　　　　　|　　´　　　　　　l.　|　　j.Ｌ......ｭ.Ｌ＿└ヽ_｜Y.　　ﾒムｗ　ょ　|　　j.:　　　|　￣
　.　　｜.　　　　　　　　　　　　　　　т〕＜.ィ冖T冖..　г‐　`､　`,　/┴￢..г￣|..　.′　　｜　　
　...　　|　　　　　　　　．..　　　　　　　),|..　｀　　ﾘ　「_ﾉ.||　　　　`　V　　|!｛,｢ll　´.」.　　　　　卜　　
　.　　｜.」　　　　　　′　　　　　　　　ヽ　　　　└++〃..　　　　　　　　ﾙｗｆ　　ｶz′.　　　｜.　　
　　　　|..〕　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　｢　　　　　．|　　　
　　　　.ｌ.|.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　′.　　　　　|　　　
　.　　　.〕..　　　　　　　　　　　　　　　`!　　　　　　　　_...．.ｰ：''　　　　　　　　　｣　´　　　　λ.　　
　　　　_｢.　　　　,　　　　　　　　　　　　┐_,、｀~‐''"´　　　　　　　　　　　　　　　　ィ　　　.､　ﾍ、　
　　　　ｆ　　　　　　:_＿..,二ュ．-i―'''^~´　　　　　　　　　　　　　　　　　　　　　　　､＼イ　ヘ．`ｘ
　.　　/　　　　　　｛　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　j　　　　.~^
　　､/　　　　　　　'ｔ..　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　丿..　　　　　
　.../.　　　　　　　,x┐..　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　∠∫　　　　　
　:^.　　　　　　　/　　￣冖ー=zzｭ┌ｰ―--　　　∟,二...＿.　　　　　　　_,､．-ｰ.'l+~.　.l｀．　　　　
　.　　　　　　　У.　　　　　　　　　⌒冖‐-=．_..　l｢.｢　　　　　　´￣｣了　　.,､-''＾　　　〉　ヽ_　　　
　　　　　　　_/.　　　　　　　　　　　　　　　　　　￣~'.ー-=．、＿,..usｧ.ｰ''"　　　　　　｛　　　＼´　
　　　　　　_ヰl'￢―-　､_　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　（　　　　.＼
*/

using namespace std;

using ll = long long int;
using ull = unsigned long long int;

ll const MOD = 1000000007;
ll const INF = (long long int)1 << 61;

ll mypow(ll x,ll n,ll mod = MOD){
    ll ret = 1;
    while(n > 0){
        if(n&1){
            ret = (ret*x)%mod;
        }
        x = (x*x)%mod;
        n >>= 1;
    }
    return ret;
}

ll mygcd(ll a,ll b){
    if(b == 0)return a;
    return mygcd(b,a%b);
}

ll twoPow(ll shiftNum){
    return (1LL << (shiftNum - 1));
}

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
 
    ll n;
    cin >> n;

    for(ll a = 0; a <= 1000; a++){
        for(ll b = -1000; b <= 1000; b++){
            if(a*a*a*a*a - b*b*b*b*b == n){
                cout << a << " " << b << endl;
                return 0;
            }
        }
    }

    return 0;
}

Measured memory_bytes: 3640
listA=[] #appendのために宣言が必要
while True:
    try:
        listA.append(input().split())
    except:
        break;
        
N = int(listA[0][0])
M = int(listA[0][1])

ans = [0] * N
pena = [0] * N

for i in range(1, M+1):
    num=int(listA[i][0]) -1
    res=listA[i][1]
    if res=="WA" and ans[num] == 0:
        pena[num] =  pena[num]+1
    if res=="AC" and ans[num] == 0:
        ans[num] = 1
        
print('%d %d' % (sum(ans), sum(x*y for x,y in zip(ans,pena)  ) ))


Measured memory_bytes: 33696
#include <iostream>
#include <string>
#include <cctype>
using namespace std;

int main(){
    int n,hanako = 0, taro = 0;
    cin >> n;
    
    for(int i = 0; i < n; i++){
        string sh,st;
        cin >> sh >> st;
        if(sh > st) hanako += 3;
        else if(sh == st){
            hanako++;
            taro++;
        }else{
            taro += 3;
        }
    }
    cout << hanako << " " << taro << endl;
    return 0;
}


Measured memory_bytes: 3200
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<iterator>
#include<iomanip>
#include<string>
using namespace std;

int palindrome (string s)
{
    for (int i=0; i<s.size()/2; i++)
    {
        if (s[i]!=s[s.size()-1-i]) {return 0;}
    }
    for (int i=0; i<(s.size()-3)/2; i++)
    {
        if (s[i]!=s[(s.size()/2)-1-i]) {return 0;}
    }
    return 1;
}

int main()
{
    string str;
    cin>>str;
    if (palindrome (str)) {cout<<"Yes";}
    else {cout<<"No";}
    return 0;
}


Measured memory_bytes: 3616
#include <bits/stdc++.h>

using namespace std; 
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define forin(i, n) for ( i = 0; i < (int)n; ++i )
typedef long long ll;

int main()
{
    //IOS
    
    int n; cin >> n;

    if ( n % 1000 == 0 ) cout << 0;
    else
    {
        int a = n / 1000;
        ++a;

        cout << ( a*1000 - n );
    }
    return 0;
}

Measured memory_bytes: 3636
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)

//  rkp.cpp
//
//  Created by WinnieJt on 2019/3/21.
//
//  Copyright © 2019 金天. All rights reserved.

//åß∂ƒ∆Ω≈µç∫πø∑¢∞§¶

#include<bits/stdc++.h>
#include<algorithm>
#include<bitset>
#include<cctype>
#include<cerrno>
#include<clocale>
#include<cmath>
#include<complex>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<deque>
#include<exception>
#include<fstream>
#include<functional>
#include<limits>
#include<list>
#include<map>
#include<iomanip>
#include<ios>
#include<iosfwd>
#include<iostream>
#include<istream>
#include<ostream>
#include<queue>
#include<set>
#include<sstream>
#include<stack>
#include<stdexcept>
#include<streambuf>
#include<string>
#include<utility>
#include<vector>
#include<cwchar>
#include<cwctype>
typedef double db;
typedef long long ll;
typedef std::string str;
str inp;
using namespace std;
ll x=0,y=0,ans=0;
int main(void)
{
    std::ios::sync_with_stdio(false);
    std::cin >> inp;
    for(ll i=0;i<inp.length();i++)
    {
        if(x==y)
        {
            x++;
            if(inp[i]=='p') ans--;
        }
        else if(x!=y)
        {
            y++;
            if (inp[i]=='g') ans++;
        }
    }
    std::cout << ans << endl;
    return 0;
}


Measured memory_bytes: 512
N= int(input())
abc = [[] for i in range(N)]
for i in range(N-1):
    a,b,c = list(map(int,input().split()))
    a -= 1
    b -= 1
    abc[a].append((b,c))
    abc[b].append((a,c))
    
def dijkstra(node,start,abc):
    import heapq
    d = [float('inf') for i in range(N)]
    d[start] = 0
    d2 = [(0,start)]
    heapq.heapify(d2)
    while d2:
        c,v = heapq.heappop(d2)
        if d[v] < c:
            continue
        for t,cost in abc[v]:
            if d[v] + cost < d[t]:
                d[t] = d[v] + cost
                heapq.heappush(d2,(d[t],t))
    return d

Q,K = list(map(int,input().split()))
graph = dijkstra(N,K-1,abc)
for i in range(Q):
    x,y = list(map(int,input().split()))
    x -= 1
    y -= 1
    print(graph[x]+graph[y])
    


Measured memory_bytes: 51624
#include<bits/stdc++.h>
using namespace std;
#define fine cout<<"fine"<<endl;
#define ll long long int
#define pb push_back
#define FASTIO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define ff first
#define ss second
#define all(v) v.begin(),v.end()
const ll inf=(ll)2e18;
const int mod=1e9+7;
bool overflow(ll a,ll b){
    if (a <= (inf+b-1)/b) return false;
    return true;
}
int main(){
FASTIO;
int a,b,k;
cin>>k;
cin>>a>>b;
int x=(a-1)/k;
int y=b/k;
if(y-x)
    cout<<"OK"<<endl;
else cout<<"NG"<<endl;
}


Measured memory_bytes: 3652
#include<stdio.h>
#include<vector>
#include<map>
typedef std::vector<int>V;
typedef std::pair<int,V>P;
V s;
std::vector<P>v;
int t,a[]={10,100,1000,10000,100000,1000000};
void F(int n,int d,int c)
{
	if(d-1==c)
	{
		s.push_back(n);
		int m,i;
		for(m=i=0;i<s.size();++i)m+=s[i];
		if(t>=m)
		{if(v[0].first<m)v.clear(),v.push_back(P(m,s));
			else if(v[0].first==m)v.push_back(P(m,s));
		}
		s.pop_back();
	}
	else
	{
		F(n,d,c+1);
		s.push_back(n%a[c]);
		n/=a[c];
		F(n,d-c-1,0);
		s.pop_back();
	}
}
int main()
{
	int a,d,i;
	while(scanf("%d%d",&t,&a),t)
	{
		v.clear();
		v.push_back(P());
		for(i=a,d=0;i;++d)i/=10;
		F(a,d,0);
		if(v[0].first==0)puts("error");
		else if(v.size()>1)puts("rejected");
		else
		{for(printf("%d",v[0].first), i=v[0].second.size()-1;i>=0;--i)
				printf(" %d",v[0].second[i]);
			puts("");
		}
	}
	return 0;
}

Measured memory_bytes: 0