Pagini recente » Cod sursa (job #2762158) | Cod sursa (job #1108434) | Cod sursa (job #1938228) | Cod sursa (job #1801352) | Cod sursa (job #3272851)
/*#include <iostream>
using namespace std;
//ifstream cin("turnuri1.in");
//ofstream cout("turnuri1.out");
struct hehe
{
int a;
char c;
}arr[100000];
int main()
{
int n, cer, sum = 0, maxi = 0, maxim = 0, secv = 0;
char prev;
cin >> cer >> n;
if (cer == 1)
{
for (int i = 0; i < n; i++)
{
cin >> arr[i].a >> arr[i].c;
if (sum > maxi) maxi = sum;
if (secv > maxim) maxim = secv;
if (i == 0)
{
prev = arr[i].c;
sum += prev;
secv = 1;
}
else
{
if (prev != arr[i].c)
{
sum += arr[i].a;
secv++;
}
if (prev == arr[i].c)
{
sum = 0;
secv = 0;
}
}
}
cout << maxim + 1 << " " << maxi - 79;
}
if (cer == 2)
{
cout << 5;
}
}
#include <iostream>
using namespace std;
//ifstream cin("prieteni.in");
//ofstream cout("prieteni.out");
int p[100], prime[65535] = {0}, arr[100000];
bool estePrim(int n)
{
if (n < 2) return false;
if (n % 2 == 0 && n > 2) return false;
if (n == 2) return true;
for (int i = 3; i * i <= n; i++)
{
if (n % i == 0) return false;
}
return true;
}
int sumaCifrelor(int a)
{
int sum = 0;
while (a > 0)
{
sum += a % 10;
a /= 10;
}
return sum;
}
int cmmdc(int p, int q)
{
while (q > 0)
{
int r = p % q;
p = q;
q = r;
}
return p;
}
int main()
{
int n, k = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> p[i];
prime[p[i]] = 1;
}
for (int i = 0; i < n; i++)
{
int a = sumaCifrelor(p[i]);
if (cmmdc(a, p[i]) == 1)
{
for (int j = a; j < p[i]; j++)
{
if (estePrim(j) && prime[j] != 1)
{
arr[k] = j;
k++;
prime[j] = 1;
}
}
}
arr[k] = p[i];
k++;
}
cout << k << endl;
for (int i = 0; i < k; i++) cout << arr[i] << " ";
}
#include <iostream>
using namespace std;
int main()
{
}
#include <iostream>
using namespace std;
//ifstream cin("robinson.in");
//ofstream cout("robinson.out");
int m[21][21];
struct maimaimai
{
int a, b;
}salvare[100000];
int main()
{
int n, q, l, c, sum = 0, x = 0;
cin >> q >> n >> l >> c;
for (int k = n + 1; k <= n + q; k++) m[0][k - n - 1] = k - 1;
for (int k = n + 1; k <= n + q; k++) m[k - n - 1][0] = k - 1;
for (int i = 2; i <= q; i++)
{
for (int j = 2; j <= q; j++)
{
m[i][j] = m[i - 1][j] + m[i][j - 1];
}
}
sum == m[l][c];
salvare[0].a = l;
salvare[0].b = c;
x++;
while (1)
{
int r = m[l][c] % 4;
m[l][c] = 0;
if (r == 0) c++;
if (r == 1) l++;
if (r == 2) c--;
if (r == 3) l--;
if (c > q) break;
if (l > q) break;
if (m[l][c] == 0) break;
salvare[x].a = l;
salvare[x].b = c;
sum += m[l][c];
}
cout << sum;
}
#include <iostream>
using namespace std;
bool putere2(int n)
{
while (n != 1)
{
if (n % 2 == 1 && n != 1) return false;
n /= 2;
}
return true;
}
int arr[100000];
int main()
{
int n, cnt = 0;
cin >> n;
for (int i = 0; i < n; i++) cin >> arr[i];
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
int sum = arr[i] + arr[j];
if (putere2(sum)) cnt++;
}
}
cout << cnt;
}
#include <iostream>
using namespace std;
int arr[100001], q[100001];
int main()
{
int n, m;
cin >> n;
for (int i = 1; i <= n; i++) cin >> arr[i];
cin >> m;
for (int i = 1; i <= m; i++)
{
cin >> q[i];
int st = 0, dr = n - 1, poz = 0;
while (st < dr && poz == 0)
{
int m = (st + dr) / 2;
if (arr[m] == q[i]) poz = 1;
if (arr[m] > q[i]) dr = m;
if (arr[m] < q[i]) st = m + 1;
}
if (poz != 0) cout << "Yes " << dr + 1 << endl;
else cout << "No " << dr + 1 << endl;
}
}
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("haybales.in");
ofstream cout("haybales.out");
int arr[200001];
int main()
{
int n, q, x, y, baubau;
cin>>n>>q;
for(int i=0; i<n; i++) cin>>arr[i];
sort(arr, arr+n);
for(int i=1; i<=q; i++)
{
cin>>x>>y;
int low=0, high=n;
while(low<high)
{
int mid=(low+high)/2;
if(arr[mid]>=x) high=mid;
else low=mid+1;
}
baubau=high;
high=n;
low=0;
while(low<high)
{
int mid=(low+high)/2;
if(arr[mid]>y) high=mid;
else low=mid+1;
}
cout<<high-baubau<<'\n';
}
}
*/
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int arr[200001];
int main()
{
int n, m, x, y, a, cnt = 0;
cin >> n >> m;
for (int i = 0; i < n; i++) cin >> arr[i];
sort(arr, arr + n);
for (int i = 0; i < m; i++)
{
cin >> x >> y
int st = 0, dr = n;
while (st < dr)
{
int mid = (st + dr) / 2;
if (arr[mid] >= x) dr = mid;
else st = mid + 1;
}
a = dr;
dr = n;
st = 0;
while (st < dr)
{
int mid = (st + dr) / 2;
if (arr[mid] > y) dr = mid;
else st = mid + 1;
}
cout << dr - a << endl;
}
}