Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 28 additions & 27 deletions CANDY.cpp
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
/*
USER: zobayer
TASK: CANDY
ALGO: ad-hoc
*/
#include <iostream>

#include <ios>
using namespace std;

int main()
{
int a[10001], n, i, avr, sum, total;
while(scanf("%d", &n) == 1 && n > 0)
{
for(i=sum=0; i < n; i++)
{
scanf("%d", &a[i]);
sum += a[i];
}
if(sum % n == 0)
{
avr = sum / n;
for(i=total=0; i < n; i++)
if(a[i] < avr)
total += avr - a[i];
printf("%d\n", total);
}
else printf("-1\n");
}
return 0;
}
{ int a[10001];
int n;
int i;
int s=0;
while(1)
{
i=0;
s=0;
cin>>n;
int t=n;
if(n==-1) break;
while(t--)
{
int x;
cin>>x;
a[i++]=x;
s+=x;

}
if(s%n!=0) cout<<-1<<endl;
else{
int o=0;
for(int k=0;k<n;k++) if(a[k] - (s/n)>0) o += a[k] - (s/n);
cout<<o<<endl;
}
}
}
112 changes: 22 additions & 90 deletions EGYPIZZA.cpp
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,92 +1,24 @@
/*
USER: zobayer
TASK: EGYPIZZA
ALGO: ad-hoc
*/

#include <cassert>
#include <cctype>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <set>
#include <map>
#include <bitset>
#include <stack>
#include <queue>
#include <algorithm>
#include <functional>
#include <iterator>
#include <numeric>
#include <utility>
using namespace std;

#define READ(f) freopen(f, "r", stdin)
#define WRITE(f) freopen(f, "w", stdout)
#define ALL(c) c.begin(), c.end()
#define PB(x) push_back(x)
#define UB(s, e, x) upper_bound(s, e, x)
#define LB(s, e, x) lower_bound(s, e, x)
#define REV(s, e) reverse(s, e);
#define SZ(c) c.size()
#define SET(p) memset(p, -1, sizeof(p))
#define CLR(p) memset(p, 0, sizeof(p))
#define MEM(p, v) memset(p, v, sizeof(p))
#define i64 long long
#define ff first
#define ss second
#define DEBUG if(0)

template< class T > T sq(T x) { return x * x; }
template< class T > T abs(T n) { return (n < 0 ? -n : n); }
template< class T > T max(T a, T b) { return (!(a < b) ? a : b); }
template< class T > T min(T a, T b) { return (a < b ? a : b); }
template< class T > T gcd(T a, T b) { return (b != 0 ? gcd<T>(b, a%b) : a); }
template< class T > T lcm(T a, T b) { return (a / gcd<T>(a, b) * b); }
template< class T > T mod(T a, T b) { return (a < b ? a : a % b); }
template< class T > bool inside(T a, T b, T c) { return a<=b && b<=c; }
template< class T > void setmax(T &a, T b) { if(a < b) a = b; }
template< class T > void setmin(T &a, T b) { if(b < a) a = b; }

const int MAX = 10001;
#include<cstring>

using namespace std;

int main()
{
int n;
cin>>n;
char *a = new char[n*3+1];
char b[3];
for(int i=0; i<n; i++)
{
cin>>b;
strcpy(&a[i*3],b);
}
for(int i=0; i<n; i++)
{
cout<<a[i*3];
}

int main() {
DEBUG READ("in.txt");
DEBUG WRITE("out.txt");

int n, i, cnt14 = 0, cnt12 = 0, cnt34 = 0, ans = 1, a, b;

scanf("%d", &n);
for(i = 0; i < n; i++) {
scanf("%d/%d", &a, &b);
switch(a+b) {
case 3: cnt12++; break;
case 5: cnt14++; break;
case 7: cnt34++; break;
}
}

// for 3/4
ans += cnt34;
cnt14 -= cnt34;
setmax(cnt14, 0);

// for 1/2
ans += (cnt12 >> 1);
cnt12 &= 1;
if(cnt12) ans++, cnt14 -= 2, setmax(cnt14, 0);

// for 1/4
ans += ((cnt14 + 3) >> 2);

printf("%d\n", ans);
return 0;
}

return 0;
}
79 changes: 33 additions & 46 deletions FCTRL2.cpp
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,49 +1,36 @@
/*
USER: zobayer
TASK: FCTRL2
ALGO: math, big integer
*/

#include <cstdio>
#include <cstring>

#define MAXDIGIT 101
#define MAXLENGTH 159

using namespace std;

char factorial[MAXDIGIT][MAXLENGTH];

void multiply(int k)
{
int carry = 0, sum, i = 0, len = strlen(factorial[k-1]);
while(i<len)
{
sum = carry + (factorial[k-1][i] - '0') * k;
factorial[k][i++] = (sum % 10) + '0';
carry = sum/10;
}
while(carry>0)
{
factorial[k][i++] = (carry%10) + '0';
carry/=10;
}
}

#include<stdio.h>
int main()
{
int n, k, len, t;
factorial[0][0]='1'; factorial[1][0]='1';
for(k=2;k<MAXDIGIT;k++)
multiply(k);
for(scanf("%d",&t);t;t--)
{
scanf("%d",&n);
len = strlen(factorial[n]);
for(k=len-1;k>=0;k--)
printf("%c",factorial[n][k]);
printf("\n");
}
return 0;
}
int t;
int a[200]; //array will have the capacity to store 200 digits.
int n,i,j,temp,m,x;

scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
a[0]=1; //initializes array with only 1 digit, the digit 1.
m=1; // initializes digit counter

temp = 0; //Initializes carry variable to 0.
for(i=1;i<=n;i++)
{
for(j=0;j<m;j++)
{
x = a[j]*i+temp; //x contains the digit by digit product
a[j]=x%10; //Contains the digit to store in position j
temp = x/10; //Contains the carry value that will be stored on later indexes
}
while(temp>0) //while loop that will store the carry value on array.
{
a[m]=temp%10;
temp = temp/10;
m++; // increments digit counter
}
}
for(i=m-1;i>=0;i--) //printing answer
printf("%d",a[i]);
printf("\n");
}
return 0;
}